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);
        }
示例#2
0
        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);
        }