예제 #1
0
        public async Task <ResponseModel <EntidadDto> > Handle(ActualizarCitaCommand request, CancellationToken cancellationToken)
        {
            ResponseModel <EntidadDto> response = new ResponseModel <EntidadDto>();
            ResponseService            responseService;
            ConfigurationHelper        configuration = new ConfigurationHelper();

            try
            {
                var cita = _mapper.Map <Cita>(request);
                if (!string.IsNullOrEmpty(request.Accion))
                {
                    _citaRepository.ActualizarReagendado(cita);
                }
                else
                {
                    _citaRepository.Actualizar(cita);
                }

                await _citaRepository.UnitOfWork.SaveChangesAsync(cancellationToken);

                responseService        = configuration.ObtenerCodigoRespuestaServicio(CodigoRespuestaServicio.Exito, "");
                response.auditResponse = new AuditResponse {
                    codigoRespuesta = responseService.codigoRespuesta, mensajeRespuesta = responseService.mensajeRespuesta
                };
                response.Entity = new EntidadDto {
                    Id = cita.IdCita, Mensaje = "Se actualizo correctamente la cita"
                };

                return(await Task.Run(() => {
                    return response;
                }));
            }
            catch (Exception ex)
            {
                responseService        = configuration.ObtenerCodigoRespuestaServicio(CodigoRespuestaServicio.ErrorInesperado, ex.InnerException.Message.ToString());
                response.auditResponse = new AuditResponse {
                    codigoRespuesta = responseService.codigoRespuesta, mensajeRespuesta = responseService.mensajeRespuesta
                };

                return(await Task.Run(() => {
                    return response;
                }));
            }
        }