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 RegistrarSalida(int idSalidaStock, DateTime fecha, int idUsuario, int idTipoSalida, DataTable dtDetalle)
 {
     try
     {
         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";
         foreach (DataRow row in dtDetalle.Rows)
         {
             DetalleSalidaStock  detalle        = new DetalleSalidaStock();
             DetalleIngresoStock detalleIngreso = new DetalleIngresoStock();
             Random RndId           = new Random();
             int    idDetalleSalida = RndId.Next(1, 9999999);
             while (detalle.Read(idDetalleSalida))
             {
                 idDetalleSalida = RndId.Next(1, 9999999);
             }
             int    cantidadRebajada = Convert.ToInt32(row[2].ToString());
             string descripcion      = row[4].ToString();
             int    idSalStock       = idSalidaStock;
             int    idDetalleIngreso = Convert.ToInt32(row[0].ToString());
             detalle.RegistrarDetalle(idDetalleSalida, cantidadRebajada, descripcion, idSalStock, idDetalleIngreso);
             detalleIngreso.ActualizarStockActual(idDetalleIngreso, cantidadRebajada);
         }
         Acceso.ModeloCesfam.SALIDA_STOCK.Add(salidaStock);
         Acceso.ModeloCesfam.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }