Пример #1
0
        public async Task <ResponseModel <EntidadDto> > Handle(CalificarCitaCommand request, CancellationToken cancellationToken)
        {
            ResponseModel <EntidadDto> response = new ResponseModel <EntidadDto>();
            ResponseService            responseService;
            ConfigurationHelper        configuration = new ConfigurationHelper();

            try
            {
                var cita = _mapper.Map <Cita>(request);
                if (request.CodigoMotivoCitaNoConcretada == TablaMotivoCitaNoConcretada.NoDeseaContinuar)
                {
                    Prospecto prospecto = new Prospecto(request.IdProspecto, request.FlagDescarte, request.CodigoMotivoUnoDescarte, request.CodigoMotivoDosDescarte, request.CodigoMotivoTresDescarte,
                                                        request.TextoMontivoTresDescarte, request.FechaMotivoTresDescarte, request.AuditoriaFechaModificacion, request.AuditoriaUsuarioModificacion);

                    //Descartamos el prospecto
                    _prospectoRepository.Descartar(prospecto);
                }
                _citaRepository.Calificar(cita);
                await _citaRepository.UnitOfWork.SaveEntitiesAsync(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 califico 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;
                }));
            }
        }
        public async Task <ResponseModel <EntidadDto> > Handle(DescartarProspectoCommand request, CancellationToken cancellationToken)
        {
            ResponseModel <EntidadDto> response = new ResponseModel <EntidadDto>();
            ResponseService            responseService;
            ConfigurationHelper        configuration = new ConfigurationHelper();

            try
            {
                var prospecto = _mapper.Map <Prospecto>(request);
                _prospectoRepository.Descartar(prospecto);

                //Calificamos citas agendadas de proximos dias como no concretadas
                _citaRepository.CalificarMultipleCitaNoConcretada(request.IdProspecto, request.TextoMontivoTresDescarte);

                await _prospectoRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);

                responseService        = configuration.ObtenerCodigoRespuestaServicio(CodigoRespuestaServicio.Exito, "");
                response.auditResponse = new AuditResponse {
                    codigoRespuesta = responseService.codigoRespuesta, mensajeRespuesta = responseService.mensajeRespuesta
                };
                response.Entity = new EntidadDto {
                    Id = prospecto.IdProspecto, Mensaje = "Se descarto correctamente el prospecto"
                };

                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;
                }));
            }
        }