public bool EntregaReserva(int idSalidaStock, DateTime fecha, int idUsuario, int idTipoSalida, int idReceta, int idPaciente, int idReserva)
        {
            try
            {
                CesfamNegocio.Receta        bssReceta      = new Receta();
                CesfamNegocio.DetalleReceta bssDetalleRece = new DetalleReceta();
                SALIDA_STOCK salidaStock = new SALIDA_STOCK();
                salidaStock.ID_SALIDA_STOCK            = idSalidaStock;
                salidaStock.FECHA                      = fecha;
                salidaStock.USUARIO_ID_USUARIO         = idUsuario;
                salidaStock.TIPO_SALIDA_ID_TIPO_SALIDA = idTipoSalida;
                salidaStock.ESTADO                     = "ACTIVO";
                Acceso.ModeloCesfam.SALIDA_STOCK.Add(salidaStock);
                Acceso.ModeloCesfam.SaveChanges();

                CesfamDatos.REL_RECETA dataRelReceta = new REL_RECETA();
                Random RndId       = new Random();
                int    idRelReceta = RndId.Next(1, 9999999);
                while (this.ReadRelReceta(idRelReceta))
                {
                    idRelReceta = RndId.Next(1, 9999999);
                }
                dataRelReceta.ID_REL_RECETA                = idRelReceta;
                dataRelReceta.ID_RETIRA                    = idPaciente;
                dataRelReceta.RECETA_ID_RECETA             = idReceta;
                dataRelReceta.SALIDA_STOCK_ID_SALIDA_STOCK = idSalidaStock;

                Acceso.ModeloCesfam.REL_RECETA.Add(dataRelReceta);
                Acceso.ModeloCesfam.SaveChanges();
                CesfamDatos.REL_RESERVA dataRelReserva = new REL_RESERVA();
                Random RndId2       = new Random();
                int    idRelReserva = RndId2.Next(1, 9999999);
                while (this.ReadRelReServa(idRelReserva))
                {
                    idRelReserva = RndId.Next(1, 9999999);
                }
                dataRelReserva.ID_REL_RESERVA               = idRelReceta;
                dataRelReserva.RESERVA_ID_RESERVA           = idReserva;
                dataRelReserva.SALIDA_STOCK_ID_SALIDA_STOCK = idSalidaStock;
                Acceso.ModeloCesfam.REL_RESERVA.Add(dataRelReserva);
                Acceso.ModeloCesfam.SaveChanges();

                if (bssDetalleRece.ReservasPorReceta(idReceta) < 2)
                {
                    bssReceta.ActualizarReservaEntregada(idReceta);
                }
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
 public bool EntregaMedicamentos(int idSalidaStock, DateTime fecha, int idUsuario, int idTipoSalida, DataTable dtDetalle, int idReceta, bool RetiraTutor, int idPaciente, int idTipoReceta, bool conReserva)
 {
     try
     {
         CesfamNegocio.Receta bssReceta = new Receta();
         int idRetira;
         if (RetiraTutor)
         {
             var tutor = Acceso.ModeloCesfam.REL_PACIENTE.First(ret => ret.PACIENTE_ID_PACIENTE == idPaciente);
             idRetira = (int)tutor.TUTOR_ID_TUTOR;
         }
         else
         {
             idRetira = idPaciente;
         }
         CesfamDatos.REL_RECETA dataRelReceta = new REL_RECETA();
         if (this.RegistrarSalida(idSalidaStock, fecha, idUsuario, idTipoSalida, dtDetalle))
         {
             Random RndId       = new Random();
             int    idRelReceta = RndId.Next(1, 9999999);
             while (this.ReadRelReceta(idRelReceta))
             {
                 idRelReceta = RndId.Next(1, 9999999);
             }
             dataRelReceta.ID_REL_RECETA                = idRelReceta;
             dataRelReceta.ID_RETIRA                    = idRetira;
             dataRelReceta.RECETA_ID_RECETA             = idReceta;
             dataRelReceta.SALIDA_STOCK_ID_SALIDA_STOCK = idSalidaStock;
         }
         Acceso.ModeloCesfam.REL_RECETA.Add(dataRelReceta);
         Acceso.ModeloCesfam.SaveChanges();
         bssReceta.ActualizarRecetaEntregada(idReceta, conReserva);
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }