public void Execute(PromenaStatusaPorudzbineDto request) { if (_context.Porudzbine.Any(x => x.Id == request.IdPorudzbine)) { var porudzbina = _context.Porudzbine .Include(p => p.DetaljiPorudzbina) .ThenInclude(pd => pd.Proizvod) .FirstOrDefault(x => x.Id == request.IdPorudzbine); if (porudzbina == null) { } if (porudzbina.StatusPorudzbine == StatusPorudzbine.primljena) { } if (porudzbina.StatusPorudzbine == StatusPorudzbine.primljena || porudzbina.StatusPorudzbine == StatusPorudzbine.isporucena) { if (request.Status == StatusPorudzbine.otkazana || request.Status == StatusPorudzbine.isporucena) { porudzbina.StatusPorudzbine = request.Status; if (request.Status == StatusPorudzbine.otkazana) { foreach (var n in porudzbina.DetaljiPorudzbina) { n.Proizvod.Kolicina += n.Kolicina; } } _context.SaveChanges(); } } } else { throw new NotFoundException(request.IdPorudzbine, typeof(Porudzbina)); } }
public void PromenaStatusa([FromBody] PromenaStatusaPorudzbineDto dto, [FromServices] IChangeStatusPorudzbineCommand command) { executor.ApplayCommand(command, dto); }