public ResultAndError <HojaRecuento> AddProductToAlmacen(Product product, string almacen, string zona) { HojaRecuento oAlmacen = new HojaRecuento() { LocationCode = almacen, ProductNo = product.ProductNo, Zone = zona }; return(Add(oAlmacen)); }
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)); } }
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); }
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); }
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)); } }
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)); } }
public IActionResult UpdHojaRecuento([FromBody] HojaRecuento HojaRecuento, bool insertIfNoExists = false) { return(Ok(hBS.Update(HojaRecuento, insertIfNoExists))); }
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); }