public async Task <PaginationList <Cover> > GetCoversAsync(CoverParameter coverParameter) { IQueryable <Cover> result = _myworkContext.Covers; if (coverParameter != null && coverParameter.StartTime.Year > 1999) { if (coverParameter.StartTime.Year > 2000 && coverParameter.EndTime.Year > 2000) { result = result.Where(t => t.creatTime >= coverParameter.StartTime && t.creatTime <= coverParameter.EndTime); } if (!coverParameter.Colour.ToString().Contains("全部")) { result = result.Where(c => c.Colour == coverParameter.Colour); } if (!coverParameter.Sleeve.ToString().Contains("全部")) { result = result.Where(c => c.Sleeve == coverParameter.Sleeve); } if (!coverParameter.Size.ToString().Contains("全部")) { result = result.Where(c => c.Size == coverParameter.Size); } if (!coverParameter.Type.Contains("全部")) { result = result.Where(c => c.Type == coverParameter.Type); } } return(await PaginationList <Cover> .CreateAsync(coverParameter.PageNumber, coverParameter.PageSize, result)); }
public async Task <IActionResult> Index() { var coverParameter = new CoverParameter() { PageNumber = 1, PageSize = 10, StartTime = Convert.ToDateTime("1000-01-01"), EndTime = DateTime.UtcNow }; var covers = await _coverRepository.GetCoversAsync(coverParameter);//查询所有明细 DateTime time = covers[0].creatTime; bool bo = time < DateTime.UtcNow; var groupcovers = covers.GroupBy(c => new { c.Colour, c.Sleeve, c.Size, c.Type }).Select(g => new { Colour = g.Key.Colour, Sleeve = g.Key.Sleeve, Size = g.Key.Size, Type = g.Key.Type, Number = g.Sum(testc => testc.Number) });//根据条件分组明细 List <Cover> Coversgroup = new List <Cover>(); foreach (var item in groupcovers) { if (item.Type == "入库") { Cover cover = new Cover(); cover.Colour = item.Colour; cover.Sleeve = item.Sleeve; cover.Size = item.Size; cover.Number = item.Number; Coversgroup.Add(cover); } } foreach (var item in groupcovers) { foreach (var i in Coversgroup) { if (item.Type == "出库" && i.Colour == item.Colour) { i.Number -= item.Number; } } } //计算库存 var coverstockparameter = new CoverStockParameterViewModel() { coverParameter = new CoverParameter() /*PageNumber = covers.CurrentPage, PageSize = covers.PageSize */ } {