public BindableCollection <SACH> GetNewBookList() { BindableCollection <SACH> BookList; BindableCollection <CTSACH> ctsList; using (QLTVEntities db = new QLTVEntities()) { BookList = new BindableCollection <SACH>(db.SACH.Include(x => x.CTSACH).Where(y => true)); ctsList = new BindableCollection <CTSACH>(db.CTSACH.Include(x => x.SACH.TACGIA).Include(x => x.SACH.THELOAI).Include(x => x.SACH.NHAXUATBAN).Include(x => x.PHIEUNHAPSACH).OrderByDescending(x => x.MACTS)); BookList = new BindableCollection <SACH>(ctsList.GroupBy(x => x.SACH).Select(p => p.Key)); if (BookList.Any()) { foreach (SACH s in BookList) { int c = 0; if (s.CTSACH is null) { continue; } foreach (CTSACH cts in s.CTSACH) { CTSACH t = db.CTSACH.Include(x => x.PHIEUMUONSACH).FirstOrDefault(p => p.MACTS == cts.MACTS); if (t is null) { continue; } c += t.PHIEUMUONSACH.Count(); } s.LUOTMUON = c; } } } return(BookList); }
public BindableCollection <ExpandoObject> CreateMoneySplitObject(BindableCollection <Member> members, BindableCollection <ReceiptsAndExpenses> moneydata) { BindableCollection <ExpandoObject> list = new BindableCollection <ExpandoObject>(); var moneyDataGroup = moneydata.GroupBy(i => i.MemberID); foreach (var member in members) { dynamic obj = new ExpandoObject(); obj.MemberName = member.MemberName; double TotalCost = 0; foreach (var item in moneyDataGroup) { if (item.Any(i => i.MemberID == member.MemberID)) { var ToalCostCollection = item.Select(i => i.Cost); foreach (var cost in ToalCostCollection) { TotalCost += cost; } } } double Cal = TotalCost - TotalRevenueOfMember; obj.Cost = Cal; list.Add(obj); } return(list); }
public BindableCollection <ReportItem1> Report1(DateTime d1, DateTime d2) { BindableCollection <ReportItem1> temp; using (QLTVEntities db = new QLTVEntities()) { BindableCollection <PHIEUMUONSACH> pms = new BindableCollection <PHIEUMUONSACH>(db.PHIEUMUONSACH.Where(y => y.NGMUON >= d1 && y.NGMUON <= d2)); BindableCollection <CTSACH> cts = new BindableCollection <CTSACH>(); foreach (var item in pms) { cts.AddRange(item.CTSACH); } temp = new BindableCollection <ReportItem1>(cts.GroupBy(x => x.SACH.MATL).Select(y => new ReportItem1() { TENTL = GetItem <THELOAI>(u => u.MATL == y.Key).THELOAI1, SOLUOT = y.Count() })); } return(temp); }