public ActionResult AnalysisView(WagonBatch batch) { if (batch.WagonAnalysisID != null) { try { batch.WagonAnalysis = _cdb.WagonAnalyzes.Where(x => x.ID == batch.WagonAnalysisID).FirstOrDefault(); } catch { } } @ViewBag.Title = "Данные проведенного анализа для вагонных весов"; return(View(batch)); }
public ActionResult Index(int page = 1) { string userName = User.Identity.Name ?? ""; int pagesize = 20; var wagonScales = EquipmentProvider.GetUserAuthorizedEquipment <WagonScale>(_cdb, User.Identity); var wagonScalesArray = wagonScales.Select(x => x.ID).ToArray(); var transfers = _cdb.WagonTransfers.Where(t => wagonScalesArray.Contains((int)t.EquipID)) .Where(v => v.IsValid).Where(d => d.TransferTimeStamp >= DbFunctions.AddDays(System.DateTime.Now, -2)); transfers.OrderByDescending(o => o.TransferTimeStamp); var groups = transfers.GroupBy(l => l.LotName).ToList(); List <WagonBatch> batches = new List <WagonBatch>(); foreach (var g in groups) { WagonBatch batch = new WagonBatch(); float netto = transfers.Where(b => b.LotName == g.Key.ToString()).Sum(s => s.Brutto) - transfers.Where(b => b.LotName == g.Key.ToString()).Sum(s => s.Tare); batch.LotName = g.Key.ToString(); batch.TransferTimeStamp = g.First().TransferTimeStamp; batch.WagonQuantity = g.Count(); batch.FromDest = g.First().FromDest.LocationName; batch.ToDest = g.First().ToDest; batch.Item = g.First().Item.Name; batch.Netto = netto; batch.WagonAnalysisID = g.First().AnalysisID; batch.WagonAnalysis = g.First().Analysis; batches.Add(batch); } @ViewBag.Title = "Анализы для вагонных весов"; return(View(new WagonBatchView { WagonBatches = batches.ToPagedList(page, pagesize), CanEdit = CtsAuthorizeProvider.CanEditUser(User.Identity), CanDelete = CtsAuthorizeProvider.CanDeleteUser(User.Identity) })); }