コード例 #1
0
ファイル: frmReport.cs プロジェクト: toantranit/QuanLyTaiSan
        private List <TK_TangGiam_TheoLoaiTS> GetData_BaoCaoTangGiamTaiSanCoDinh(DateTime From, DateTime To)
        {
            ResetDbContext();
            List <TK_TangGiam_TheoLoaiTS> Data = new List <TK_TangGiam_TheoLoaiTS>();

            try
            {
                var list_loaits = MyNewDbContext.LOAITAISANS.ToList();
                foreach (var item in list_loaits)
                {
                    TK_TangGiam_TheoLoaiTS obj = new TK_TangGiam_TheoLoaiTS();
                    obj.tenloai   = item.ten;
                    obj.id_loai   = item.id;
                    obj.donvitinh = item.donvitinh == null ? "" : item.donvitinh.ten;

                    foreach (var taisan in item.taisans)
                    {
                        //Tính số đầu năm
                        foreach (var ctts in taisan.cttaisans.Where(
                                     c =>
                                     c.soluong > 0
                                     &&
                                     (
                                         (c.ngay != null && c.ngay < From)
                                     )
                                     )
                                 )
                        {
                            obj.sodaunam_soluong += ctts.soluong;
                            obj.sodaunam_giatri  += ctts.thanhtien;
                        }
                        var list_log_ctts = taisan.logtanggiamtaisans.Where(c => c.ngay != null && c.ngay >= From && c.ngay <= To && c.soluong > 0);
                        //Tính tăng/giảm trong năm
                        foreach (var ctts in list_log_ctts.Where(c => c.tang_giam == 1 || c.tang_giam == -1))
                        {
                            if (ctts.tang_giam == 1)
                            {
                                obj.tangtrongnam_soluong += ctts.soluong;
                                obj.tangtrongnam_giatri  += ctts.thanhtien;
                            }
                            else if (ctts.tang_giam == -1)
                            {
                                obj.giamtrongnam_soluong += ctts.soluong;
                                obj.giamtrongnam_giatri  += ctts.thanhtien;
                            }
                        }
                        //Tính số cuối năm
                        obj.socuoinam_soluong = obj.sodaunam_soluong + obj.tangtrongnam_soluong - obj.giamtrongnam_soluong;
                        obj.socuoinam_giatri  = obj.sodaunam_giatri + obj.tangtrongnam_giatri - obj.giamtrongnam_giatri;
                    }
                    //add to list
                    Data.Add(obj);
                }
            }
            catch (Exception) { return(new List <TK_TangGiam_TheoLoaiTS>()); }
            return(Data);
        }
コード例 #2
0
        private List<TK_TangGiam_TheoLoaiTS> GetData_BaoCaoTangGiamTaiSanCoDinh(DateTime From, DateTime To)
        {
            ResetDbContext();
            List<TK_TangGiam_TheoLoaiTS> Data = new List<TK_TangGiam_TheoLoaiTS>();
            try
            {
                var list_loaits = MyNewDbContext.LOAITAISANS.ToList();
                foreach (var item in list_loaits)
                {
                    TK_TangGiam_TheoLoaiTS obj = new TK_TangGiam_TheoLoaiTS();
                    obj.tenloai = item.ten;
                    obj.id_loai = item.id;
                    obj.donvitinh = item.donvitinh == null ? "" : item.donvitinh.ten;

                    foreach (var taisan in item.taisans)
                    {
                        //Tính số đầu năm
                        foreach (var ctts in taisan.cttaisans.Where(
                            c =>
                                c.soluong > 0
                                &&
                                (
                                    (c.ngay != null && c.ngay < From)
                                )
                            )
                        )
                        {
                            obj.sodaunam_soluong += ctts.soluong;
                            obj.sodaunam_giatri += ctts.thanhtien;
                        }
                        var list_log_ctts = taisan.logtanggiamtaisans.Where(c => c.ngay != null && c.ngay >= From && c.ngay <= To && c.soluong > 0);
                        //Tính tăng/giảm trong năm
                        foreach (var ctts in list_log_ctts.Where(c => c.tang_giam == 1 || c.tang_giam == -1))
                        {
                            if (ctts.tang_giam == 1)
                            {
                                obj.tangtrongnam_soluong += ctts.soluong;
                                obj.tangtrongnam_giatri += ctts.thanhtien;
                            }
                            else if (ctts.tang_giam == -1)
                            {
                                obj.giamtrongnam_soluong += ctts.soluong;
                                obj.giamtrongnam_giatri += ctts.thanhtien;
                            }
                        }
                        //Tính số cuối năm
                        obj.socuoinam_soluong = obj.sodaunam_soluong + obj.tangtrongnam_soluong - obj.giamtrongnam_soluong;
                        obj.socuoinam_giatri = obj.sodaunam_giatri + obj.tangtrongnam_giatri - obj.giamtrongnam_giatri;
                    }
                    //add to list
                    Data.Add(obj);
                }
            }
            catch (Exception) { return new List<TK_TangGiam_TheoLoaiTS>(); }
            return Data;
        }