Пример #1
0
        public ActionResult Edit(int stockFarmacia, int id, int hospitalId)
        {
            StockFarmacia insumo = db.StockFarmacias.Find(id);

            insumo.stockFarmacia   = stockFarmacia;
            db.Entry(insumo).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index", "StockFarmacia", new { hospitalId = hospitalId }));
        }
Пример #2
0
        private void ActualizarStockFarmacia(Pedido pedido, DetallePedido item)
        {
            StockFarmacia insumo = db.StockFarmacias.Where(p => p.hospitalId == pedido.hospitalId &&
                                                           p.insumoId == item.insumoId).First();

            if (insumo != null)
            {
                insumo.stockFarmacia   = insumo.stockFarmacia + item.cantidadAutorizada;
                db.Entry(insumo).State = EntityState.Modified;
            }
            //TODO: Si el insumo no existe se deberia insertar en la BD
        }
Пример #3
0
        private void AddToStockFarmacia(int idInsumo)
        {
            var hospitalesList = db.Hospitales.Select(x => x.id).ToList();

            foreach (int idHospital in hospitalesList)
            {
                StockFarmacia stockFarmacia = new StockFarmacia();
                stockFarmacia.insumoId      = idInsumo;
                stockFarmacia.hospitalId    = idHospital;
                stockFarmacia.stockFarmacia = 0;
                db.StockFarmacias.Add(stockFarmacia);
            }
        }
Пример #4
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StockFarmacia insumo = db.StockFarmacias.Where(p => p.id == id).Include(s => s.insumo).First();

            if (insumo == null)
            {
                return(HttpNotFound());
            }

            return(View(insumo));
        }
Пример #5
0
        //POST: EntregaPedido
        public async Task <HttpResponseMessage> EntregaPedido(int?id)
        {
            HttpResponseMessage response;

            if (id == null)
            {
                return(new HttpResponseMessage(HttpStatusCode.BadRequest));
            }
            try
            {
                var pedido = db.Pedidos.Where(p => p.id == id).Include(t => t.estado).Include(d => d.detallesPedido).First();
                if (pedido.estadoId == 3)
                {
                    pedido.estadoId = 6;
                    foreach (DetallePedido item in pedido.detallesPedido)
                    {
                        StockFarmacia insumo = db.StockFarmacias.Where(p => p.hospitalId == pedido.hospitalId &&
                                                                       p.insumoId == item.insumoId).First();
                        if (insumo != null)
                        {
                            insumo.stockFarmacia   = insumo.stockFarmacia + item.cantidadAutorizada;
                            db.Entry(insumo).State = EntityState.Modified;
                        }
                        //TODO: Si el insumo no existe se deberia insertar en la BD
                    }
                    db.Entry(pedido).State = EntityState.Modified;
                    db.SaveChanges();
                    await SendEmailCambioEstadoAsync(pedido);
                }
                else
                {
                    response = new HttpResponseMessage(HttpStatusCode.NotAcceptable);

                    /*response.Content = new StringContent("El pedido ingresado debe estar en estado " +
                     *  "En Proceso de Envío y el estado del pedido ingresado es " + pedido.estado.nombreEstado);*/
                    return(response);
                }
            }
            catch (Exception)
            {
                response = new HttpResponseMessage(HttpStatusCode.InternalServerError);
                //response.Content = new StringContent("Ocurrió un error al intentar realizar el cambio de estado");
                return(response);
            }
            response = new HttpResponseMessage(HttpStatusCode.Accepted);
            //response.Content = new StringContent("El pedido cambió correctamente a estado Entregado");
            return(response);
        }
Пример #6
0
        private void impactarStockFarmaciaYPresupuesto(Reclamo reclamo)
        {
            decimal montoReclamado = 0;

            foreach (DetalleReclamo detalleReclamo in reclamo.detallesReclamo)
            {
                StockFarmacia stockFarmacia = db.StockFarmacias.Where(s => s.insumoId == detalleReclamo.insumoId && s.hospitalId == reclamo.hospitalId)
                                              .FirstOrDefault();

                stockFarmacia.stockFarmacia  -= detalleReclamo.cantidad;
                db.Entry(stockFarmacia).State = EntityState.Modified;
                var precioInsumo = db.Insumos.Where(p => p.id == detalleReclamo.insumoId).First().precioUnitario;
                montoReclamado += precioInsumo * detalleReclamo.cantidad;
                agregarHistoricoFarmacia(detalleReclamo, reclamo.fechaInicioReclamo, reclamo.pedidoId, stockFarmacia.stockFarmacia, reclamo.hospitalId);
            }
            var hospital = db.Hospitales.Where(h => h.id == reclamo.hospitalId).First();

            hospital.presupuestoDisponible += montoReclamado;
            db.Entry(hospital).State        = EntityState.Modified;
            db.SaveChanges();
        }
Пример #7
0
        private void ActualizarItem(DetalleRemito item, int hospitalId, Remito remito)
        {
            StockFarmacia insumo = db.StockFarmacias.Where(p => p.hospitalId == hospitalId &&
                                                           p.insumoId == item.insumoId).First();

            if (insumo != null)
            {
                insumo.stockFarmacia   = insumo.stockFarmacia + item.cantidadEntregada;
                db.Entry(insumo).State = EntityState.Modified;

                agregarHistoricoFarmacia(item, insumo.stockFarmacia, remito, hospitalId);
            }
            else
            {
                var newStock = new StockFarmacia();
                newStock.hospitalId    = hospitalId;
                newStock.insumoId      = item.insumoId;
                newStock.stockFarmacia = item.cantidadEntregada;
                db.StockFarmacias.Add(newStock);

                agregarHistoricoFarmacia(item, insumo.stockFarmacia, remito, hospitalId);
            }
        }