コード例 #1
0
 public bool revisarPrescripciones()
 {
     try
     {
         DateTime fechaMenos = DateTime.Now.AddDays(-5);
         DateTime fechaMas   = DateTime.Now.AddDays(5);
         int      count      = 0;
         var      dataReceta = Acceso.ModeloCesfam.RECETA.Where(pre => pre.TIPO_RECETA_ID_TIPO_RECETA == 1 && pre.FECHA_ENTREGA >= fechaMenos && pre.FECHA_ENTREGA < fechaMas && pre.CORREOENVIADO == 0 && pre.ESTADO_RECETA == "Pendiente");
         foreach (var item in dataReceta)
         {
             CorreosAvisos ccorreo = new CorreosAvisos();
             string        asunto  = string.Format("Proxima prescripcion");
             string        mensaje = string.Format("Estimada " + item.PACIENTE.NOMBRE + " " + item.PACIENTE.APELLIDO_PATERNO + ": \n\nJunto con saludar, le informo que su prescripcion estara disponible el " + item.FECHA_ENTREGA.ToString("dd/MM/yyyy") + " para que se acerque a la sucursal a retirar. \n\nSaludos Cordiales. \n\nSe despide Cesfam Farmacia.");
             if (ccorreo.CorreoElectronico(item.PACIENTE.CORREO, asunto, mensaje))
             {
                 this.ActualizarCorreoEnviado((int)item.ID_RECETA);
                 count++;
             }
         }
         if (count > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception)
     {
         return(false);
     }
 }
コード例 #2
0
        public bool VerificarReservasPendientes(int idProducto, int idDetalleIngreso, int idUsuario)
        {
            try
            {
                var list = (from Res in Acceso.ModeloCesfam.RESERVA.ToList()
                            where Res.PRODUCTO_ID_PRODUCTO == idProducto && Res.ESTADO_RESERVA.Equals("Pendiente")
                            orderby Res.FECHA_RESERVA ascending
                            select new
                {
                    IdReserva = Res.ID_RESERVA,
                    IdProducto = Res.PRODUCTO_ID_PRODUCTO,
                    nombreProducto = Res.PRODUCTO.NOMBRE_PRODUCTO,
                    Cantidad = Res.CANTIDAD_RESERVA,
                    IdReceta = Res.RECETA_ID_RECETA,
                    idPaciente = Res.RECETA.PACIENTE_ID_PACIENTE,
                    nombrePaciente = Res.RECETA.PACIENTE.NOMBRE + " " + Res.RECETA.PACIENTE.APELLIDO_PATERNO,
                    codigoPaciente = Res.RECETA.PACIENTE.CODIGO_LIBRETA,
                    correoPaciente = Res.RECETA.PACIENTE.CORREO,
                    NombreMedico = Res.RECETA.USUARIO.NOMBRE + " " + Res.RECETA.USUARIO.APELLIDO_PATERNO,
                });
                CesfamDatos.DETALLE_INGRESO_STOCK dataDetalle = Acceso.ModeloCesfam.DETALLE_INGRESO_STOCK.First(det => det.ID_DETALLE_INGRESO == idDetalleIngreso);
                foreach (var item in list.ToList())
                {
                    if (item.Cantidad < dataDetalle.STOCK_ACTUAL)
                    {
                        CesfamNegocio.DetalleIngresoStock bssDetalleIngreso = new DetalleIngresoStock();
                        CesfamNegocio.SalidaStock         bssSalida         = new SalidaStock();
                        CesfamNegocio.DetalleSalidaStock  bssDetalleSalida  = new DetalleSalidaStock();
                        CesfamNegocio.DetalleReceta       bssDetReceta      = new DetalleReceta();
                        CesfamNegocio.CorreosAvisos       bssCcorreo        = new CorreosAvisos();
                        Random RndId2        = new Random();
                        int    idSalidaStock = RndId2.Next(1, 9999999);
                        while (bssSalida.Read(idSalidaStock))
                        {
                            idSalidaStock = RndId2.Next(1, 9999999);
                        }
                        bssSalida.EntregaReserva(idSalidaStock, DateTime.Now, idUsuario, 4, (int)item.IdReceta, (int)item.idPaciente, (int)item.IdReserva);
                        this.ActualizarReserva((int)item.IdReserva, "Entregar", DateTime.Now);
                        Random RndId            = new Random();
                        int    idDetSalidaStock = RndId.Next(1, 9999999);
                        while (bssDetalleSalida.Read(idDetSalidaStock))
                        {
                            idDetSalidaStock = RndId.Next(1, 9999999);
                        }
                        bssDetalleSalida.RegistrarDetalle(idDetSalidaStock, (int)item.Cantidad, "Reserva", idSalidaStock, idDetalleIngreso);
                        bssDetalleIngreso.ActualizarStockActual(idDetalleIngreso, (int)item.Cantidad);
                        bssDetReceta.ActualizarEstado(bssDetReceta.idDetalleEntregado((int)item.IdReceta, (int)item.IdProducto), "Entregado");

                        string asunto  = string.Format("Producto reservado disponible");
                        string mensaje = string.Format("Estimada " + item.nombrePaciente + ": \nJunto con saludar, le informo que el producto " + item.nombreProducto + " que fue reservado ya se encuentra disponible para retiro. \n\nProducto: " + item.nombreProducto + "\nCantidad: " + item.Cantidad + " \n\nSaludos Cordiales. \n\nSe despide Cesfam Farmacia.");
                        bssCcorreo.CorreoElectronico(item.correoPaciente, asunto, mensaje);
                    }
                }
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }