public VentasCentro <Center> FillSalesCenter(VentasCentro <Center> ventasCentro, int mode = -1) { foreach (Center center in ventasCentro.Items) { foreach (Subcenter subcenter in center.Subcenters) { List <SalesCountedCenter> oSales = new List <SalesCountedCenter>(); foreach (LabelAndValue <DateTime> date in ventasCentro.Dates) { if (mode == 1) { SalesCountedCenter sale = subcenter.SalesCountedCenters.SingleOrDefault(o => o.PostingDate.Value.Day == date.Value.Day); if (sale == null) { oSales.Add(new SalesCountedCenter()); } else { oSales.Add(sale); } } else if (mode == 7) { SalesCountedCenter weekSale = new SalesCountedCenter() { Amount = 0 }; foreach (SalesCountedCenter sales in subcenter.SalesCountedCenters) { if (sales.PostingDate.Value >= date.Value && sales.PostingDate.Value <= Convert.ToDateTime(date.Data)) { weekSale.Amount += sales.Amount; } } oSales.Add(weekSale); } else if (mode == 12) { SalesCountedCenter monthSale = new SalesCountedCenter() { Amount = 0 }; foreach (SalesCountedCenter sales in subcenter.SalesCountedCenters) { if (sales.PostingDate.Value >= date.Value && sales.PostingDate.Value <= new DateTime(date.Value.Year, date.Value.Month, DateTime.DaysInMonth(date.Value.Year, date.Value.Month))) { monthSale.Amount += sales.Amount; } } oSales.Add(monthSale); } } subcenter.SalesCountedCenters = oSales; } } return(ventasCentro); }
public VentasCentro <CustomerRate> FillSalesCenter(VentasCentro <CustomerRate> ventasCentro, int mode = -1) { foreach (CustomerRate customer in ventasCentro.Items) { List <SalesCenter> oSales = new List <SalesCenter>(); foreach (LabelAndValue <DateTime> date in ventasCentro.Dates) { if (mode == 1) { SalesCenter sale = customer.SalesCenters.SingleOrDefault(o => o.PostingDate.Value.Day == date.Value.Day && o.PostingDate >= customer.StartingDate && (o.PostingDate <= customer.EndingDate || customer.EndingDate == null)); if (sale == null) { oSales.Add(new SalesCenter()); } else { oSales.Add(sale); } } else if (mode == 7) { SalesCenter weekSale = new SalesCenter() { Quantity = 0 }; foreach (SalesCenter sales in customer.SalesCenters) { if (sales.PostingDate.Value >= date.Value && sales.PostingDate.Value <= Convert.ToDateTime(date.Data)) { weekSale.Quantity += sales.Quantity; } } oSales.Add(weekSale); } else if (mode == 12) { SalesCenter monthSale = new SalesCenter() { Quantity = 0 }; foreach (SalesCenter sales in customer.SalesCenters) { if (sales.PostingDate.Value >= date.Value && sales.PostingDate.Value <= new DateTime(date.Value.Year, date.Value.Month, DateTime.DaysInMonth(date.Value.Year, date.Value.Month))) { monthSale.Quantity += sales.Quantity; } } oSales.Add(monthSale); } } customer.SalesCenters = oSales; } return(ventasCentro); }
public VentasCentro <Center> GetVentasCentro(int year = -1, int month = -1, int mode = 7) { VentasCentro <Center> oVentas = new VentasCentro <Center>() { Items = cBS.GetCentroList(pagesize: 0, sortName: "name") }; if (mode == 1) { oVentas.Dates = dBS.GetDaysInMonth(year, month); //daily } else if (mode == 7) { oVentas.Dates = dBS.GetWeeksInMonth(year, month).Select(o => new LabelAndValue <DateTime>(o.From.ToString("dd/MM") + " - " + o.To.ToString("dd/MM"), o.From, o.To)); //weekly } else if (mode == 12) { oVentas.Dates = dBS.GetMonthsInYear().Select(o => new LabelAndValue <DateTime>(o.Value, new DateTime(year, o.Key, 1), o)); //monthly } return(FillSalesCenter(oVentas, mode)); }
public IActionResult GetSalesCountedCenterList([FromQuery(Name = "y")] int year, [FromQuery(Name = "m")] int month, [FromQuery] int mode) { VentasCentro <Center> ventasCentro = sBS.GetVentasCentro(year: year, month: month, mode: mode); return(Ok(new VentasContado_View(ventasCentro))); }
public VentasCentro_View(VentasCentro <CustomerRate> v) { Items = v.Items.Select(o => new CustomerRate_View(o)); Dates = v.Dates; }
public VentasContado_View(VentasCentro <Center> v) { Items = v.Items.Select(o => new Center_View(o)); Dates = v.Dates; }