public RespuestaBD EditarRecoleccionMuestra(ActualizarRecoleccionMuestra actualizarRecoleccionMuestra)
        {
            using (InoBD db = new InoBD())
            {
                RecoleccionMuestra recoleccionMuestra = db.RecoleccionMuestra.Find(actualizarRecoleccionMuestra.IdRecoleccionMuestra);
                string             valoresAntiguos    = JsonConvert.SerializeObject(recoleccionMuestra);
                if (recoleccionMuestra != null)
                {
                    RecoleccionMuestra pacienteEncontrado = db.RecoleccionMuestra.Where(x => x.HistoriaClinica == actualizarRecoleccionMuestra.HistoriaClinica && x.FechaOcurrencia == actualizarRecoleccionMuestra.FechaOcurrencia && x.IdRecoleccionMuestra != actualizarRecoleccionMuestra.IdRecoleccionMuestra).FirstOrDefault();
                    if (pacienteEncontrado == null)
                    {
                        db.Entry(recoleccionMuestra).CurrentValues.SetValues(actualizarRecoleccionMuestra);
                        db.SaveChanges();
                        //Mensaje de respuesta
                        respuesta.Id      = recoleccionMuestra.IdRecoleccionMuestra;
                        respuesta.Mensaje = "Se modificó los datos correctamente.";

                        // Auditoria
                        AuditoriaGeneral auditoria = new AuditoriaGeneral
                        {
                            Accion          = "Actualizar",
                            NombreTabla     = "RecoleccionMuestra",
                            ValoresAntiguos = valoresAntiguos,
                            ValoresNuevos   = JsonConvert.SerializeObject(actualizarRecoleccionMuestra),
                            IdUsuario       = actualizarRecoleccionMuestra.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 AgregarRecoleccionMuestra(NuevoRecoleccionMuestra nuevoRecoleccionMuestra)
        {
            using (InoBD db = new InoBD())
            {
                RecoleccionMuestra pacienteEncontrado = db.RecoleccionMuestra.Where(x => x.HistoriaClinica == nuevoRecoleccionMuestra.HistoriaClinica && x.FechaOcurrencia == nuevoRecoleccionMuestra.FechaOcurrencia).FirstOrDefault();
                if (pacienteEncontrado == null)
                {
                    RecoleccionMuestra recoleccionMuestra = Mapper.Map <RecoleccionMuestra>(nuevoRecoleccionMuestra);
                    db.RecoleccionMuestra.Add(recoleccionMuestra);
                    db.SaveChanges();

                    //Mensaje de respuesta
                    respuesta.Id      = recoleccionMuestra.IdRecoleccionMuestra;
                    respuesta.Mensaje = "Se ingresó los datos correctamente.";

                    // Auditoria
                    AuditoriaGeneral auditoria = new AuditoriaGeneral
                    {
                        Accion          = "Agregar",
                        NombreTabla     = "RecoleccionMuestra",
                        ValoresAntiguos = null,
                        ValoresNuevos   = JsonConvert.SerializeObject(nuevoRecoleccionMuestra),
                        IdUsuario       = nuevoRecoleccionMuestra.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);
            }
        }