Пример #1
0
        //public Phong obj { get; set; }

        //public long tonggiatritaisan
        //{
        //    get
        //    {
        //        try
        //        {
        //            return obj.tonggiatritaisan;
        //        }
        //        catch (Exception ex)
        //        {
        //            Debug.WriteLine(ex);
        //            return 0;
        //        }
        //    }
        //}

        public static List <Phong_ThongKe> getAll(List <Guid> list_coso = null, List <Guid> list_loaiphong = null)
        {
            IQueryable <Phong> query = Phong.getQuery();

            //LTB
            if (list_loaiphong != null && list_loaiphong.Count > 0)
            {
                query = query.Where(x => x.loaiphong == null || list_loaiphong.Contains(x.loaiphong.id));
            }
            //COSO
            if (list_coso != null && list_coso.Count > 0)
            {
                query = query.Where(x => x.vitri.coso == null || list_coso.Contains(x.vitri.coso.id));
            }

            //FINAL SELECT
            List <Phong_ThongKe> re = query.ToList().Select(x => new Phong_ThongKe
            {
                id        = x.id,
                ten       = x.ten,
                loai      = x.loaiphong == null ? "" : x.loaiphong.ten,
                sochongoi = x.sochongoi,
                //obj = x,
                tonggiatritaisan = x.tonggiatritaisan,
                coso             = x.vitri.coso == null ? "" : x.vitri.coso.ten,
                day  = x.vitri.day == null ? "" : x.vitri.day.ten,
                tang = x.vitri.tang == null ? "" : x.vitri.tang.ten
            }
                                                            ).ToList();

            return(re);
        }
Пример #2
0
        public static List <TaiSan_ThongKe> getAll(List <Guid> list_coso = null, List <Guid> list_loaitaisan = null, DonVi donvi = null)
        {
            IQueryable <CTTaiSan> query = CTTaiSan.getQuery();

            query = query.Where(x => x.soluong > 0);
            if (donvi != null)
            {
                List <Guid> list_donviquanly = donvi.getAllChildsRecursive().Select(x => x.id).ToList();
                query = query.Where(x => x.donviquanly != null && list_donviquanly.Contains(x.donviquanly.id));
            }
            //LTB
            if (list_loaitaisan != null && list_loaitaisan.Count > 0)
            {
                query = query.Where(x => x.taisan.loaitaisan == null || list_loaitaisan.Contains(x.taisan.loaitaisan.id));
            }
            //COSO
            if (list_coso != null && list_coso.Count > 0)
            {
                List <Guid> list_phong = Phong.getQuery().Where(x => list_coso.Contains(x.vitri.coso.id)).Select(c => c.id).ToList();
                //query = query.Where(x => x.vitri.coso == null || list_coso.Contains(x.vitri.coso.id));
                query = query.Where(x => list_coso.Contains(x.vitri.coso.id) || list_phong.Contains(x.phong.id));
            }
            //FINAL SELECT
            List <TaiSan_ThongKe> re = query.Select(x => new TaiSan_ThongKe
            {
                id             = x.id,
                ngay           = x.ngay,
                sohieu_ct      = x.chungtu != null ? x.chungtu.sohieu : "",
                ngay_ct        = x.chungtu != null ? x.chungtu.ngay : null,
                ten            = x.taisan.ten,
                loaits         = x.taisan.loaitaisan.ten,
                donvitinh      = x.taisan.loaitaisan.donvitinh != null ? x.taisan.loaitaisan.donvitinh.ten : "",
                soluong_tang   = !x.tinhtrang.giam_taisan ? (int?)x.soluong : null,
                dongia_tang    = !x.tinhtrang.giam_taisan ? (long?)x.taisan.dongia : null,
                thanhtien_tang = !x.tinhtrang.giam_taisan ? (long?)x.soluong * x.taisan.dongia : null,
                soluong_giam   = x.tinhtrang.giam_taisan ? (int?)x.soluong : null,
                dongia_giam    = x.tinhtrang.giam_taisan ? (long?)x.taisan.dongia : null,
                thanhtien_giam = x.tinhtrang.giam_taisan ? (long?)x.soluong * x.taisan.dongia : null,
                sohieu_ct_tang = !x.tinhtrang.giam_taisan ? (x.chungtu != null ? x.chungtu.sohieu : "") : "",
                ngay_ct_tang   = !x.tinhtrang.giam_taisan ? (x.chungtu != null ? x.chungtu.ngay : null) : null,
                sohieu_ct_giam = x.tinhtrang.giam_taisan ? (x.chungtu != null ? x.chungtu.sohieu : "") : "",
                ngay_ct_giam   = x.tinhtrang.giam_taisan ? (x.chungtu != null ? x.chungtu.ngay : null) : null,
                nuocsx         = x.taisan.nuocsx,
                nguongoc       = x.nguongoc,
                tinhtrang      = x.tinhtrang.value,
                ghichu         = x.mota,
                childs         = x.childs,
                phong          = x.phong != null ? x.phong.ten : "",
                vitri          = x.vitri != null ? (x.vitri.coso != null ? x.vitri.coso.ten + (x.vitri.day != null ? " - " +
                                                                                               x.vitri.day.ten + (x.vitri.tang != null ? " - " + x.vitri.tang.ten : "") : "") : "") : "",
                dvquanly          = x.donviquanly != null ? x.donviquanly.ten : "",
                dvsudung          = x.donvisudung != null ? x.donvisudung.ten : "",
                phantramhaomon_32 = Object.Equals(x.taisan, null) ? 0 : Object.Equals(x.taisan.loaitaisan, null) ? 0 : x.taisan.loaitaisan.phantramhaomon_32 * 100,
                sotientrongmotnam = Object.Equals(x.taisan, null) ? 0 : Object.Equals(x.taisan.loaitaisan, null) ? 0 : (long)(x.taisan.dongia * x.taisan.loaitaisan.phantramhaomon_32),
            }
                                                    ).ToList();

            return(re);
        }
Пример #3
0
        private Object GetData_SoTaiSanCoDinh(List <Guid> ListLoaiTaiSan, List <Guid> ListCoSo, int Year, Boolean ChuaCoViTri)
        {
            ResetDbContext();
            IQueryable <CTTaiSan> IQueryable = MyNewDbContext.CTTAISANS.AsQueryable <CTTaiSan>();

            //get luon so luong = 0, vi tinh tang giam
            //IQueryable = IQueryable.Where(x => x.soluong > 0);
            IQueryable = IQueryable.Where(item => Object.Equals(item.ngay, null) == false);
            IQueryable = IQueryable.Where(item => ((DateTime)item.ngay).Year <= Year);

            //LTB
            if (ListLoaiTaiSan != null && ListLoaiTaiSan.Count > 0)
            {
                IQueryable = IQueryable.Where(x => x.taisan.loaitaisan == null || ListLoaiTaiSan.Contains(x.taisan.loaitaisan.id));
            }
            //COSO
            if (ListCoSo != null && ListCoSo.Count > 0)
            {
                List <Guid> ListPhong = Phong.getQuery().Where(x => ListCoSo.Contains(x.vitri.coso.id)).Select(c => c.id).ToList();
                IQueryable = IQueryable.Where(x => ListCoSo.Contains(x.vitri.coso.id) || ListPhong.Contains(x.phong.id));
            }
            if (ChuaCoViTri)
            {
                IQueryable = IQueryable.Where(x => Object.Equals(x.vitri, null) == true);
            }
            //var DataFiltered_Groups = IQueryable.OrderByDescending(item => item.date_create).DistinctBy(item => new { item.taisan_id, item.tinhtrang_id }).GroupBy(item => item.taisan_id).ToList();
            var DataFiltered_Groups = IQueryable.OrderByDescending(item => item.date_create).GroupBy(item => item.taisan_id).ToList();

            List <TSCD.DataFilter.ReportFilter.SoTaiSanCoDinh_DataFilter> Data = new List <TSCD.DataFilter.ReportFilter.SoTaiSanCoDinh_DataFilter>();

            foreach (var _Group in DataFiltered_Groups)
            {
                int intCount = _Group.Count();

                if (intCount == 1)
                {
                    TSCD.DataFilter.ReportFilter.SoTaiSanCoDinh_DataFilter item = new TSCD.DataFilter.ReportFilter.SoTaiSanCoDinh_DataFilter();
                    //CTTS nay la tang tai san, neu la giam thi ... -_-
                    item.ngay      = _Group.ElementAt(0).ngay;
                    item.sohieu_ct = _Group.ElementAt(0).chungtu != null?_Group.ElementAt(0).chungtu.sohieu : "";

                    item.ten    = _Group.ElementAt(0).taisan.ten;
                    item.nuocsx = _Group.ElementAt(0).taisan.nuocsx;

                    //Do chi co 1 CTTS ma no giam (dac thu la chuyen tinh trang soluong dau = soluong chuyen se khong phat
                    //CTTS moi) nen du lieu tang = giam
                    if (_Group.ElementAt(0).tinhtrang.giam_taisan)
                    {
                        item.sohieu_ct_giam = _Group.ElementAt(0).chungtu != null?_Group.ElementAt(0).chungtu.sohieu : "";

                        item.ngay_ct_giam = _Group.ElementAt(0).chungtu != null?_Group.ElementAt(0).chungtu.ngay : null;

                        item.ghichu = _Group.ElementAt(0).mota;
                    }
                    //Giam nen lay giam vo tang luon, gia tri ban dau
                    item.dongia_tang    = _Group.ElementAt(0).taisan.dongia;
                    item.sohieu_ct_tang = _Group.ElementAt(0).chungtu != null?_Group.ElementAt(0).chungtu.sohieu : "";

                    item.ngay_ct_tang = _Group.ElementAt(0).chungtu != null?_Group.ElementAt(0).chungtu.ngay : null;

                    item.dongia_tang    = !_Group.ElementAt(0).tinhtrang.giam_taisan ? _Group.ElementAt(0).taisan.dongia : 0;
                    item.sohieu_ct_tang = !_Group.ElementAt(0).tinhtrang.giam_taisan ? (_Group.ElementAt(0).chungtu != null ? _Group.ElementAt(0).chungtu.sohieu : "") : "";
                    item.ngay_ct_tang   = !_Group.ElementAt(0).tinhtrang.giam_taisan ? (_Group.ElementAt(0).chungtu != null ? _Group.ElementAt(0).chungtu.ngay : null) : null;

                    item.sohieu_ct_giam = _Group.ElementAt(0).tinhtrang.giam_taisan ? (_Group.ElementAt(0).chungtu != null ? _Group.ElementAt(0).chungtu.sohieu : "") : "";
                    item.ngay_ct_giam   = _Group.ElementAt(0).tinhtrang.giam_taisan ? (_Group.ElementAt(0).chungtu != null ? _Group.ElementAt(0).chungtu.ngay : null) : null;
                    item.ghichu         = _Group.ElementAt(0).tinhtrang.giam_taisan ? _Group.ElementAt(0).mota : null;

                    item.phantramhaomon_32        = Object.Equals(_Group.ElementAt(0).taisan, null) ? 0 : Object.Equals(_Group.ElementAt(0).taisan.loaitaisan, null) ? 0 : _Group.ElementAt(0).taisan.loaitaisan.phantramhaomon_32 * 100;
                    item.sotientrongmotnam        = Object.Equals(_Group.ElementAt(0).taisan, null) ? 0 : Object.Equals(_Group.ElementAt(0).taisan.loaitaisan, null) ? 0 : Object.Equals(_Group.ElementAt(0).taisan.loaitaisan.phantramhaomon_32, null) ? 0 : (long)(_Group.ElementAt(0).taisan.dongia *_Group.ElementAt(0).taisan.loaitaisan.phantramhaomon_32);
                    item.haomon_1nam              = _Group.ElementAt(0).sonamsudungconlai_final(Year) <= 0 ? 0 : _Group.ElementAt(0).haomon_1nam;
                    item.giatriconlai_final       = _Group.ElementAt(0).giatriconlai_final(Year);
                    item.haomonluyke              = _Group.ElementAt(0).haomonluyke(Year);
                    item.haomonnamtruocchuyensang = _Group.ElementAt(0).haomonnamtruocchuyensang(Year);

                    Data.Add(item);
                }
                else if (intCount > 1)
                {
                    //Tai san nay co so luong > 1 nen se co n dong cho tai san nay
                    foreach (var CTTS in _Group)
                    {
                        if (CTTS.tinhtrang.giam_taisan)
                        {
                            //Giam
                            for (int i = 1; i <= CTTS.soluong; i++)
                            {
                                TSCD.DataFilter.ReportFilter.SoTaiSanCoDinh_DataFilter item = new TSCD.DataFilter.ReportFilter.SoTaiSanCoDinh_DataFilter();

                                item.ngay      = CTTS.ngay;
                                item.sohieu_ct = CTTS.chungtu != null ? CTTS.chungtu.sohieu : "";
                                item.ten       = CTTS.taisan.ten;
                                item.nuocsx    = CTTS.taisan.nuocsx;

                                item.dongia_tang    = CTTS.taisan.dongia;
                                item.sohieu_ct_tang = CTTS.chungtu != null ? CTTS.chungtu.sohieu : "";
                                item.ngay_ct_tang   = CTTS.chungtu != null ? CTTS.chungtu.ngay : null;

                                item.sohieu_ct_giam = CTTS.chungtu != null ? CTTS.chungtu.sohieu : "";
                                item.ngay_ct_giam   = CTTS.chungtu != null ? CTTS.chungtu.ngay : null;
                                item.ghichu         = CTTS.mota;

                                item.phantramhaomon_32        = Object.Equals(CTTS.taisan, null) ? 0 : Object.Equals(CTTS.taisan.loaitaisan, null) ? 0 : CTTS.taisan.loaitaisan.phantramhaomon_32 * 100;
                                item.sotientrongmotnam        = Object.Equals(CTTS.taisan, null) ? 0 : Object.Equals(CTTS.taisan.loaitaisan, null) ? 0 : Object.Equals(CTTS.taisan.loaitaisan.phantramhaomon_32, null) ? 0 : (long)(CTTS.taisan.dongia * CTTS.taisan.loaitaisan.phantramhaomon_32);
                                item.haomon_1nam              = CTTS.sonamsudungconlai_final(Year) <= 0 ? 0 : CTTS.haomon_1nam;
                                item.giatriconlai_final       = CTTS.giatriconlai_final(Year);
                                item.haomonluyke              = CTTS.haomonluyke(Year);
                                item.haomonnamtruocchuyensang = CTTS.haomonnamtruocchuyensang(Year);

                                Data.Add(item);
                            }
                        }
                        else
                        {
                            //Tang
                            for (int i = 1; i <= CTTS.soluong; i++)
                            {
                                TSCD.DataFilter.ReportFilter.SoTaiSanCoDinh_DataFilter item = new TSCD.DataFilter.ReportFilter.SoTaiSanCoDinh_DataFilter();

                                item.ngay      = CTTS.ngay;
                                item.sohieu_ct = _Group.ElementAt(1).chungtu != null?_Group.ElementAt(1).chungtu.sohieu : "";

                                item.ten    = CTTS.taisan.ten;
                                item.nuocsx = CTTS.taisan.nuocsx;

                                item.dongia_tang    = !_Group.ElementAt(1).tinhtrang.giam_taisan ? _Group.ElementAt(1).taisan.dongia : 0;
                                item.sohieu_ct_tang = !_Group.ElementAt(1).tinhtrang.giam_taisan ? (_Group.ElementAt(1).chungtu != null ? _Group.ElementAt(1).chungtu.sohieu : "") : "";
                                item.ngay_ct_tang   = !_Group.ElementAt(1).tinhtrang.giam_taisan ? (_Group.ElementAt(1).chungtu != null ? _Group.ElementAt(1).chungtu.ngay : null) : null;

                                item.phantramhaomon_32        = Object.Equals(CTTS.taisan, null) ? 0 : Object.Equals(CTTS.taisan.loaitaisan, null) ? 0 : CTTS.taisan.loaitaisan.phantramhaomon_32 * 100;
                                item.sotientrongmotnam        = Object.Equals(CTTS.taisan, null) ? 0 : Object.Equals(CTTS.taisan.loaitaisan, null) ? 0 : Object.Equals(CTTS.taisan.loaitaisan.phantramhaomon_32, null) ? 0 : (long)(CTTS.taisan.dongia * CTTS.taisan.loaitaisan.phantramhaomon_32);
                                item.haomon_1nam              = CTTS.sonamsudungconlai_final(Year) <= 0 ? 0 : CTTS.haomon_1nam;
                                item.giatriconlai_final       = CTTS.giatriconlai_final(Year);
                                item.haomonluyke              = CTTS.haomonluyke(Year);
                                item.haomonnamtruocchuyensang = CTTS.haomonnamtruocchuyensang(Year);

                                Data.Add(item);
                            }
                        }
                    }
                }
            }
            return(Data.OrderBy(item => item.ngay).ToList());;
        }
Пример #4
0
        public static List <Phong_ThongKe> getAllForTH(List <Guid> list_loaiphong = null, ViTri vitri = null, DonVi donvi = null, String equation = null, int?sochongoi = null)
        {
            IQueryable <Phong> query = Phong.getQuery();

            //DONVI
            if (donvi != null)
            {
                query = donvi.getAllCTTaiSanRecursive().Where(c => c.phong != null).Select(c => c.phong).Distinct();
            }

            //LTB
            if (list_loaiphong != null && list_loaiphong.Count > 0)
            {
                query = query.Where(x => x.loaiphong == null || list_loaiphong.Contains(x.loaiphong.id));
            }

            //SOCHONGOI
            if ((equation != null && (equation.Equals("=") || equation.Equals(">=") || equation.Equals(">") || equation.Equals("<=") || equation.Equals("<"))) && sochongoi != null && sochongoi >= 0)
            {
                if (equation.Equals("="))
                {
                    query = query.Where(x => x.sochongoi == sochongoi);
                }
                else if (equation.Equals(">="))
                {
                    query = query.Where(x => x.sochongoi >= sochongoi);
                }
                else if (equation.Equals(">"))
                {
                    query = query.Where(x => x.sochongoi > sochongoi);
                }
                else if (equation.Equals("<="))
                {
                    query = query.Where(x => x.sochongoi <= sochongoi);
                }
                else if (equation.Equals("<"))
                {
                    query = query.Where(x => x.sochongoi < sochongoi);
                }
            }

            //VITRI
            if (vitri != null)
            {
                query = query.Where(x => (vitri.coso_id == null || x.vitri.coso.id == vitri.coso_id) && (vitri.day_id == null || x.vitri.day.id == vitri.day_id) && (vitri.tang_id == null || x.vitri.tang.id == vitri.tang_id));
            }

            //FINAL SELECT
            List <Phong_ThongKe> re = query.ToList().Select(x => new Phong_ThongKe
            {
                id        = x.id,
                ten       = x.ten,
                loai      = x.loaiphong == null ? "" : x.loaiphong.ten,
                sochongoi = x.sochongoi,
                //obj = x,
                tonggiatritaisan = x.tonggiatritaisan,
                coso             = x.vitri.coso == null ? "" : x.vitri.coso.ten,
                day  = x.vitri.day == null ? "" : x.vitri.day.ten,
                tang = x.vitri.tang == null ? "" : x.vitri.tang.ten
            }
                                                            ).ToList();

            return(re);
        }