public RespuestaBD RegistrarAtencionTrabajador(NuevaAtencionTrabajador nuevaAtencionTrabajador) { using (InoBD db = new InoBD()) { AtencionTrabajador pacienteEncontrado = db.AtencionTrabajador.Where(x => x.FechaCreacion.Day == DateTime.Now.Day && x.FechaCreacion.Month == DateTime.Now.Month && x.FechaCreacion.Year == DateTime.Now.Year && x.HistoriaClinica == nuevaAtencionTrabajador.HistoriaClinica).FirstOrDefault(); if (pacienteEncontrado == null) { AtencionTrabajador atencionTrabajador = Mapper.Map <AtencionTrabajador>(nuevaAtencionTrabajador); db.AtencionTrabajador.Add(atencionTrabajador); db.SaveChanges(); foreach (var diagnostico in nuevaAtencionTrabajador.Diagnosticos) { AtencionTrabajador_Diagnostico atencion_Diagnostico = new AtencionTrabajador_Diagnostico { IdAtencionTrabajador = atencionTrabajador.IdAtencionTrabajador, IdDiagnostico = diagnostico.Id, TipoDiagnostico = diagnostico.Codigo, IdUsuarioCreacion = nuevaAtencionTrabajador.IdUsuarioCreacion }; db.AtencionTrabajador_Diagnostico.Add(atencion_Diagnostico); db.SaveChanges(); } //Mensaje de respuesta respuesta.Id = atencionTrabajador.IdAtencionTrabajador; respuesta.Mensaje = "Se guardó la atención correctamente."; // Auditoria AuditoriaGeneral auditoria = new AuditoriaGeneral { Accion = "Agregar", NombreTabla = "AtencionTrabajador", ValoresAntiguos = null, ValoresNuevos = JsonConvert.SerializeObject(nuevaAtencionTrabajador), IdUsuario = nuevaAtencionTrabajador.IdUsuarioCreacion }; this._gestorDeAuditoria.AgregarAuditoria(auditoria); } else { //Mensaje de respuesta respuesta.Id = 0; respuesta.Mensaje = "El paciente ya cuenta con un registro para el día de hoy, intente de nuevo."; } } return(respuesta); }
//[RequiereAutenticacion] public RespuestaBD RegistrarAtencionTrabajador(NuevaAtencionTrabajador nuevaAtencionTrabajador) { return(_gestorDeAtencionesTrabajadores.RegistrarAtencionTrabajador(nuevaAtencionTrabajador)); }