public void Execute(UpdateWriterDto request)
        {
            _validator.ValidateAndThrow(request);

            var writer = _context.Writers.Find(request.Id);

            if (writer == null)
            {
                throw new EntityNotFoundException(request.Id, typeof(Writer));
            }


            if (request.FirstName == null && request.LastName == null)
            {
                request.FirstName = writer.FirstName;
                request.LastName  = writer.LastName;
            }

            if (request.FirstName == null && request.LastName != null)
            {
                request.FirstName = writer.FirstName;
            }

            if (request.FirstName != null && request.LastName == null)
            {
                request.LastName = writer.LastName;
            }

            var oscars = writer.Oscars;

            writer.LastName  = request.LastName;
            writer.FirstName = request.FirstName;
            writer.Fullname  = request.FullName;
            writer.Oscars    = request.Oscars ?? oscars;

            _context.SaveChanges();
        }
Esempio n. 2
0
 public IActionResult Put(int id, [FromBody] UpdateWriterDto dto, [FromServices] IUpdateWriterCommand command)
 {
     dto.Id = id;
     _executor.ExecuteCommand(command, dto);
     return(StatusCode(StatusCodes.Status204NoContent));
 }