Esempio n. 1
0
        public ResultAndError <HojaRecuento> AddProductToAlmacen(Product product, string almacen, string zona)
        {
            HojaRecuento oAlmacen = new HojaRecuento()
            {
                LocationCode = almacen,
                ProductNo    = product.ProductNo,
                Zone         = zona
            };

            return(Add(oAlmacen));
        }
Esempio n. 2
0
        public ResultAndError <HojaRecuento> Add(HojaRecuento pr)
        {
            ResultAndError <HojaRecuento> result = new ResultAndError <HojaRecuento>();

            try
            {
                db.HojaRecuentos.Add(pr);
                db.SaveChanges();
                return(result.AddResult(pr));
            }
            catch (Exception e)
            {
                return(result.AddError(e, HttpStatusCode.InternalServerError));
            }
        }
Esempio n. 3
0
        public bool DeleteMulti(IEnumerable <int> HojaRecuentos)
        {
            List <HojaRecuento> oHojaRecuentos = new List <HojaRecuento>();

            foreach (int HojaRecuentoNo in HojaRecuentos)
            {
                HojaRecuento oHojaRecuento = Get(HojaRecuentoNo);
                if (oHojaRecuento != null)
                {
                    oHojaRecuentos.Add(oHojaRecuento);
                }
            }
            db.HojaRecuentos.RemoveRange(oHojaRecuentos);
            db.SaveChanges();
            return(true);
        }
Esempio n. 4
0
 public bool UpdateMulti(IEnumerable <HojaRecuento> oHojaRecuentos, bool insertIfNoExists = false)
 {
     foreach (HojaRecuento HojaRecuento in oHojaRecuentos)
     {
         HojaRecuento old = Get(HojaRecuento.EntryNo);
         if (old == null && insertIfNoExists)
         {
             Add(HojaRecuento);
         }
         else
         {
             db.Entry(old).CurrentValues.SetValues(HojaRecuento);
         }
     }
     db.SaveChanges();
     return(true);
 }
Esempio n. 5
0
        public ResultAndError <bool> Delete(int id)
        {
            ResultAndError <bool> result = new ResultAndError <bool>();

            try
            {
                HojaRecuento oHojaRecuento = Get(id);
                if (oHojaRecuento == null)
                {
                    return(result.AddError("No se encontro la hoja con el id " + id));
                }
                db.HojaRecuentos.Remove(oHojaRecuento);
                db.SaveChanges();
                return(result.AddResult(true));
            }
            catch (Exception e)
            {
                return(result.AddError(e, HttpStatusCode.InternalServerError));
            }
        }
Esempio n. 6
0
        public ResultAndError <HojaRecuento> Update(HojaRecuento pr, bool insertIfNoExists = false)
        {
            ResultAndError <HojaRecuento> result = new ResultAndError <HojaRecuento>();

            try
            {
                HojaRecuento old = Get(pr.EntryNo);
                if (old == null && insertIfNoExists)
                {
                    return(Add(pr));
                }
                db.Entry(old).CurrentValues.SetValues(pr);
                db.SaveChanges();
                return(result.AddResult(pr));
            }
            catch (Exception e)
            {
                return(result.AddError(e, HttpStatusCode.InternalServerError));
            }
        }
Esempio n. 7
0
 public IActionResult UpdHojaRecuento([FromBody] HojaRecuento HojaRecuento, bool insertIfNoExists = false)
 {
     return(Ok(hBS.Update(HojaRecuento, insertIfNoExists)));
 }
Esempio n. 8
0
        public ResultAndError <Recuento> IniciarRecuento(string center, string almacen, string product, string zona)
        {
            Center oCenter = cnBS.Get("088");//TODO modificar cuando este el login
            ResultAndError <Recuento> recount = new ResultAndError <Recuento>();
            var almacenes = db.AlmacenZPs
                            .Include(o => o.Location)
                            .Include(o => o.Zonas)
                            .Include(o => o.Product)
                            .Where(o => o.LocationCode == almacen)
                            .GroupBy(o => o.LocationCode)
                            .ToList();

            if (almacenes.Count() == 0)
            {
                return(recount.AddError("No hay datos"));
            }

            List <string> zonas = zona.Split(',').ToList();

            recount = CheckZonaRecuento(zonas, recount);

            if (recount.HasErrors)
            {
                return(recount);
            }

            CabeceraRecuento oCabecera = new CabeceraRecuento()
            {
                Status = 0
            };

            cBS.Update(oCabecera, true);

            Recuento oRecuento = new Recuento();

            //Recorremos el group by del almacen
            foreach (var group in almacenes)
            {
                //Aqui recorremos los items que esten agrupados en este almacen
                foreach (AlmacenZP alm in group.ToList())
                {
                    oRecuento.Almacen = alm.Location.Name;
                    List <Zonas> zonaAlmacen = new List <Zonas>();
                    //Recorremos las zonas seleccionadas
                    foreach (string z in zonas)
                    {
                        var tempAlmacenes = group.Where(o => o.Zona == z).ToList();
                        if (tempAlmacenes.Count() == 0)
                        {
                            continue;                             //Si no hay zona saltamos a la siguiente vuelta
                        }
                        Zonas oZona = new Zonas();
                        foreach (AlmacenZP zP in tempAlmacenes)//Recorremos los productos
                        {
                            oZona = new Zonas()
                            {
                                Zona      = zP.Zonas.Name,
                                Productos = tempAlmacenes.OrderBy(o => o.Product.Description).ToList()
                            };//Creamos el objeto Zonas
                            recount = CheckProductoRecuento(zP.ProductNo, recount);
                            if (recount.HasErrors)
                            {
                                return(recount);
                            }
                            //Creamos el objeto HojaRecuento
                            HojaRecuento oHoja = new HojaRecuento()
                            {
                                Codigo       = "HR" + oCabecera.IdRecuento,
                                Date         = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)),
                                CenterCode   = center,
                                LocationCode = zP.LocationCode,
                                Zone         = zP.Zona,
                                ProductNo    = zP.ProductNo,
                                Quantity     = zP.Product.StockActual
                            };
                            Update(oHoja, true);//Creamos la hoja del producto
                        }
                        zonaAlmacen.Add(oZona);
                    }
                    oRecuento.Zonas = zonaAlmacen.OrderBy(o => o.Zona).ToList();
                    break;
                }
            }

            recount.AddResult(oRecuento);
            return(recount);
        }