troncomputers / optimaapi

Comarch Optima WebAPI for Abisoft
0 stars 0 forks source link

Brak możliwości edycji raportu kasowo - bankowego #3

Closed witmus closed 2 years ago

witmus commented 2 years ago

Endpoint PUT /api/bank/reports, w zależności od wartości pola id w ciele żądania, wykazuje błędne zachowania:

troncomputers commented 2 years ago

W przypadku ostatniego punktu, nie jestem pewny, czy nie powinno zwrócić błędu walidacji modelu. Co prawda domyślnie BankReport.Id przyjmuje wartość 0, więc pewnie system dostająć NULL podmienia na domyślną.

Co do dwóch pierwszych punktów -

  1. czy to jest jakiś jednorazowy wybryk?
  2. Dzieje się tak za każdym razem kiedy chcecie skorzystać z tego endpointu?
  3. Takie zachowanie występuje tylko w przypadku api/bank/reports?
witmus commented 2 years ago
  1. Nie
  2. Tak
  3. Tak

Co do ostatniego punktu faktycznie popełniłem błąd. Dla id = NULL rzeczywiście zwracany jest błąd walidacji. Opisana przeze mnie sytuacja występuje dla id = 0 lub gdy pole id nie jest zawarte w ciele żądania i w konsekwencji przyjmuje wartość domyślną.

troncomputers commented 2 years ago

Dorzucam dodatkowe sprawdzanie, czy raport o podanym Id istnieje, rozwiąże to problem braku id w requeście oraz id = 0.

Błąd The instance of entity type 'BankReport' cannot be tracked because another instance with the same key value for {'Id'} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting key values. również został poprawiony.