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); } }
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); } }