public RespuestaBD EditarIncumplimientoAnalisis(ActualizarIncumplimientoAnalisis actualizarIncumplimientoAnalisis)
        {
            using (InoBD db = new InoBD())
            {
                IncumplimientoAnalisis incumplimientoAnalisis = db.IncumplimientoAnalisis.Find(actualizarIncumplimientoAnalisis.IdIncumplimientoAnalisis);
                string valoresAntiguos = JsonConvert.SerializeObject(incumplimientoAnalisis);
                if (incumplimientoAnalisis != null)
                {
                    IncumplimientoAnalisis pacienteEncontrado = db.IncumplimientoAnalisis.Where(x => x.HistoriaClinica == actualizarIncumplimientoAnalisis.HistoriaClinica && x.FechaOcurrencia == actualizarIncumplimientoAnalisis.FechaOcurrencia && x.IdIncumplimientoAnalisis != actualizarIncumplimientoAnalisis.IdIncumplimientoAnalisis).FirstOrDefault();
                    if (pacienteEncontrado == null)
                    {
                        db.Entry(incumplimientoAnalisis).CurrentValues.SetValues(actualizarIncumplimientoAnalisis);
                        db.SaveChanges();
                        //Mensaje de respuesta
                        respuesta.Id      = incumplimientoAnalisis.IdIncumplimientoAnalisis;
                        respuesta.Mensaje = "Se modificó los datos correctamente.";

                        // Auditoria
                        AuditoriaGeneral auditoria = new AuditoriaGeneral
                        {
                            Accion          = "Actualizar",
                            NombreTabla     = "IncumplimientoAnalisis",
                            ValoresAntiguos = valoresAntiguos,
                            ValoresNuevos   = JsonConvert.SerializeObject(actualizarIncumplimientoAnalisis),
                            IdUsuario       = actualizarIncumplimientoAnalisis.IdUsuarioModificacion
                        };
                        this._gestorDeAuditoria.AgregarAuditoria(auditoria);
                    }
                    else
                    {
                        //Mensaje de respuesta
                        respuesta.Id      = 0;
                        respuesta.Mensaje = "El paciente ya se encuentra registrado para esta fecha.";
                        return(respuesta);
                    }
                }
                else
                {
                    //Mensaje de respuesta
                    respuesta.Id      = 0;
                    respuesta.Mensaje = "El campo solicitado no existe.";
                }

                return(respuesta);
            }
        }
        public RespuestaBD AgregarIncumplimientoAnalisis(NuevoIncumplimientoAnalisis nuevoIncumplimientoAnalisis)
        {
            using (InoBD db = new InoBD())
            {
                IncumplimientoAnalisis pacienteEncontrado = db.IncumplimientoAnalisis.Where(x => x.HistoriaClinica == nuevoIncumplimientoAnalisis.HistoriaClinica && x.FechaOcurrencia == nuevoIncumplimientoAnalisis.FechaOcurrencia).FirstOrDefault();
                if (pacienteEncontrado == null)
                {
                    IncumplimientoAnalisis incumplimientoAnalisis = Mapper.Map <IncumplimientoAnalisis>(nuevoIncumplimientoAnalisis);
                    db.IncumplimientoAnalisis.Add(incumplimientoAnalisis);
                    db.SaveChanges();

                    //Mensaje de respuesta
                    respuesta.Id      = incumplimientoAnalisis.IdIncumplimientoAnalisis;
                    respuesta.Mensaje = "Se ingresó los datos correctamente.";

                    // Auditoria
                    AuditoriaGeneral auditoria = new AuditoriaGeneral
                    {
                        Accion          = "Agregar",
                        NombreTabla     = "IncumplimientoAnalisis",
                        ValoresAntiguos = null,
                        ValoresNuevos   = JsonConvert.SerializeObject(nuevoIncumplimientoAnalisis),
                        IdUsuario       = nuevoIncumplimientoAnalisis.IdUsuarioCreacion
                    };
                    this._gestorDeAuditoria.AgregarAuditoria(auditoria);
                }
                else
                {
                    //Mensaje de respuesta
                    respuesta.Id      = 0;
                    respuesta.Mensaje = "El paciente ya se encuentra registrado para esta fecha.";
                }

                return(respuesta);
            }
        }