Esempio n. 1
0
 private static void fillPhanLoaiChiForPhieuChiRows(PhieuChiTableAdapter phieuChiTableAdapter, QLMamNon.Dao.QLMamNonDs.PhieuChiDataTable table)
 {
     foreach (QLMamNon.Dao.QLMamNonDs.PhieuChiRow row in table)
     {
         row.PhanLoaiChi = StaticDataUtil.GetMaPhanLoaiChiNameByPhieuChiId(phieuChiTableAdapter, row.PhieuChiId);
     }
 }
Esempio n. 2
0
        private void gvMain_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
        {
            ColumnView view = sender as ColumnView;

            if (e.Column.FieldName == "KhoiId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                Object khoiIdObj = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "KhoiId");

                if (!DBNull.Value.Equals(khoiIdObj))
                {
                    int khoiId = (int)khoiIdObj;
                    e.DisplayText = StaticDataUtil.GetKhoiNameByKhoiId(khoiId);
                }
            }
            else if (e.Column.FieldName == "KhoanThuId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                Object khoanThuIdObj = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "KhoanThuId");

                if (!DBNull.Value.Equals(khoanThuIdObj))
                {
                    int khoanThuId = (int)khoanThuIdObj;
                    e.DisplayText = StaticDataUtil.GetKhoanThuNameByKhoanThuId(khoanThuId);
                }
            }
        }
Esempio n. 3
0
        public List <ViewBangThuTienRow> EvaluateViewBangThuTienRowsForReport(List <ViewBangThuTienRow> viewBangThuTienRows, DateTime toDate)
        {
            HashSet <int> hocSinhIds = new HashSet <int>();

            foreach (ViewBangThuTienRow viewBangThuTienRow in viewBangThuTienRows)
            {
                if (!hocSinhIds.Contains(viewBangThuTienRow.HocSinhId))
                {
                    hocSinhIds.Add(viewBangThuTienRow.HocSinhId);
                }
            }

            LoggerFacade.Info(string.Format("EvaluateViewBangThuTienRowsForReport for list HocSinhIds=[{0}]", StringUtil.JoinWithCommas(hocSinhIds.ToList())));

            HocSinhLopTableAdapter hocSinhLopTableAdapter = (HocSinhLopTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterHocSinhLop);
            Dictionary <int, QLMamNon.Dao.QLMamNonDs.LopRow> hocSinhIdsToLopNames = StaticDataUtil.GetLopsByHocSinhIds(hocSinhIds.ToList(), toDate);
            HocSinhDataTable hocSinhDataTable = this.getHocSinhData();

            foreach (ViewBangThuTienRow viewBangThuTienRow in viewBangThuTienRows)
            {
                viewBangThuTienRow.HoTen = StaticDataUtil.GetHocSinhFullNameByHocSinhId(hocSinhDataTable, viewBangThuTienRow.HocSinhId);

                if (hocSinhIdsToLopNames.ContainsKey(viewBangThuTienRow.HocSinhId))
                {
                    viewBangThuTienRow.Lop = hocSinhIdsToLopNames[viewBangThuTienRow.HocSinhId].Name;
                }
            }

            return(viewBangThuTienRows);
        }
Esempio n. 4
0
        private void fillReportHocSinh(RptThongTinHocSinh rpt)
        {
            List <object> rows = new List <object>(this.GridViewMain.RowCount);

            for (int i = 0; i < this.GridViewMain.DataRowCount; i++)
            {
                object dataRow = this.GridViewMain.GetRow(this.GridViewMain.GetVisibleRowHandle(i));
                rows.Add(dataRow);

                QLMamNon.Dao.QLMamNonDs.HocSinhRow hocSinhRow = (dataRow as DataRowView).Row as QLMamNon.Dao.QLMamNonDs.HocSinhRow;
                hocSinhRow.STT = i + 1;

                if (!hocSinhRow.IsPhuongXaIdNull())
                {
                    hocSinhRow.PhuongXa = StaticDataUtil.GetPhuongXaById(StaticDataFacade.Get(StaticDataKeys.PhuongXa) as QLMamNon.Dao.QLMamNonDs.PhuongXaDataTable, hocSinhRow.PhuongXaId);
                }

                if (!hocSinhRow.IsQuanHuyenIdNull())
                {
                    hocSinhRow.QuanHuyen = StaticDataUtil.GetQuanHuyenById(StaticDataFacade.Get(StaticDataKeys.QuanHuyen) as QLMamNon.Dao.QLMamNonDs.QuanHuyenDataTable, hocSinhRow.QuanHuyenId);
                }
            }

            rpt.hocSinhBindingSource.DataSource = rows;
        }
Esempio n. 5
0
        private static Dictionary <int, Dictionary <int, ViewBangThuTienRow> > buildLopToHocSinhToViewBangThuTienRowsMap(ViewBangThuTienDataTable viewBangThuTienTable, DateTime ngayTinh)
        {
            List <int> hocSinhIds = new List <int>();

            foreach (ViewBangThuTienRow viewBangThuTienRow in viewBangThuTienTable)
            {
                hocSinhIds.Add(viewBangThuTienRow.HocSinhId);
            }

            Dictionary <int, HocSinhLopRow> hocSinhIdsToHocSinhLops = StaticDataUtil.GetHocSinhLopsByHocSinhIds(hocSinhIds, ngayTinh);
            Dictionary <int, Dictionary <int, ViewBangThuTienRow> > lopToHocSinhViewBangThuTienRows = new Dictionary <int, Dictionary <int, ViewBangThuTienRow> >();

            foreach (ViewBangThuTienRow viewBangThuTienRow in viewBangThuTienTable)
            {
                if (!hocSinhIdsToHocSinhLops.ContainsKey(viewBangThuTienRow.HocSinhId))
                {
                    continue;
                }

                int lopId = hocSinhIdsToHocSinhLops[viewBangThuTienRow.HocSinhId].LopId;

                if (!lopToHocSinhViewBangThuTienRows.ContainsKey(lopId))
                {
                    lopToHocSinhViewBangThuTienRows.Add(lopId, new Dictionary <int, ViewBangThuTienRow>());
                }

                Dictionary <int, ViewBangThuTienRow> hocSinhToViewBangThuTienRows = lopToHocSinhViewBangThuTienRows[lopId];
                hocSinhToViewBangThuTienRows.Add(viewBangThuTienRow.HocSinhId, viewBangThuTienRow);
            }

            return(lopToHocSinhViewBangThuTienRows);
        }
Esempio n. 6
0
        public void GenerateSoThuTienByHocSinhAndLopAndNgayTinh(int hocSinhId, int lopId, DateTime ngayTinh, int stt, ViewBangThuTienRow preMonthViewBangThuTien)
        {
            BangThuTienTableAdapter bangThuTienTableAdapter = (BangThuTienTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterBangThuTien);
            LopKhoiTableAdapter     lopKhoiTableAdapter     = (LopKhoiTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterLopKhoi);

            int    sXThangTruoc           = 0;
            long   soTienSXThangTruoc     = 0;
            int    anSangThangTruoc       = 0;
            long   soTienAnSangThangTruoc = 0;
            long   soTienAnSangThangNay   = 0;
            int    anToiThangTruoc        = 0;
            long   soTienAnToiThangTruoc  = 0;
            long   soTienAnToiThangNay    = 0;
            long   soTienNangKhieu        = 0;
            long   soTienTruyThu          = 0;
            long   soTienDieuHoa          = 0;
            long   soTienDoDung           = 0;
            String ghiChu = "";

            bangThuTienTableAdapter.Insert(hocSinhId, lopId, sXThangTruoc, soTienSXThangTruoc, anSangThangTruoc, soTienAnSangThangTruoc, soTienAnSangThangNay, soTienAnToiThangTruoc, anToiThangTruoc, soTienAnToiThangNay, soTienDoDung, soTienNangKhieu, soTienTruyThu, soTienDieuHoa, ngayTinh, stt, 0, DateTime.Now, ghiChu);
            int bangThuTienId = (int)bangThuTienTableAdapter.Adapter.InsertCommand.LastInsertedId;
            int khoiId        = StaticDataUtil.GetKhoiIdByLopId(lopKhoiTableAdapter, lopId).Value;

            this.generateBangThuTienKhoanThu(bangThuTienId, khoiId, ngayTinh, preMonthViewBangThuTien);
        }
Esempio n. 7
0
        private void gvMain_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
        {
            ColumnView view = sender as ColumnView;

            if (e.Column.FieldName == "GioiTinh" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                sbyte gioiTinh = (sbyte)view.GetListSourceRowCellValue(e.ListSourceRowIndex, "GioiTinh");
                switch (gioiTinh)
                {
                case 0: e.DisplayText = "Nữ"; break;

                case 1: e.DisplayText = "Nam"; break;
                }
            }
            else if (e.Column.FieldName == "TinhThanhPhoId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object tinhId = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "TinhThanhPhoId");
                if (tinhId != DBNull.Value)
                {
                    e.DisplayText = StaticDataUtil.GetThanhPhoById(StaticDataFacade.Get(StaticDataKeys.TinhThanhPho) as QLMamNon.Dao.QLMamNonDs.ThanhPhoDataTable, (int)tinhId);
                }
            }
            else if (e.Column.FieldName == "QuanHuyenId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object quanHuyenId = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "QuanHuyenId");
                if (quanHuyenId != DBNull.Value)
                {
                    e.DisplayText = StaticDataUtil.GetQuanHuyenById(StaticDataFacade.Get(StaticDataKeys.QuanHuyen) as QLMamNon.Dao.QLMamNonDs.QuanHuyenDataTable, (int)quanHuyenId);
                }
            }
            else if (e.Column.FieldName == "PhuongXaId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object phuongXaId = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "PhuongXaId");
                if (phuongXaId != DBNull.Value)
                {
                    e.DisplayText = StaticDataUtil.GetPhuongXaById(StaticDataFacade.Get(StaticDataKeys.PhuongXa) as QLMamNon.Dao.QLMamNonDs.PhuongXaDataTable, (int)phuongXaId);
                }
            }
            else if (e.Column.FieldName == "NgaySinh" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle && e.Value != DBNull.Value)
            {
                DateTime ngaySinh = (DateTime)e.Value;
                if (e.Column.Caption == "Ngay")
                {
                    e.DisplayText = ngaySinh.Day.ToString();
                }
                else if (e.Column.Caption == "Thang")
                {
                    e.DisplayText = ngaySinh.Month.ToString();
                }
                else if (e.Column.Caption == "Nam")
                {
                    e.DisplayText = ngaySinh.Year.ToString();
                }
            }
            else if (e.Column.Caption == this.GridViewColumnSequenceName && e.ListSourceRowIndex >= 0)
            {
                e.DisplayText = String.Format("{0}", e.ListSourceRowIndex + 1);
            }
        }
Esempio n. 8
0
        protected override void onSaving()
        {
            if (this.DataTable != null)
            {
                List <DataRow> deletedRow  = new List <DataRow>();
                List <DataRow> addedRow    = new List <DataRow>();
                List <DataRow> modifiedRow = new List <DataRow>();

                foreach (DataRow row in this.DataTable.Rows)
                {
                    if (row.RowState == DataRowState.Deleted)
                    {
                        deletedRow.Add(row);
                    }
                    else if (row.RowState == DataRowState.Added)
                    {
                        addedRow.Add(row);
                    }
                    if (row.RowState == DataRowState.Modified)
                    {
                        modifiedRow.Add(row);
                    }
                }

                base.onSaving();

                foreach (DataRow row in deletedRow)
                {
                    QLMamNon.Dao.QLMamNonDs.LopRow lopRow = row as QLMamNon.Dao.QLMamNonDs.LopRow;
                    this.lopKhoiTableAdapter.DeleteLopKhoiByLopId(lopRow.LopId);
                }

                foreach (DataRow row in modifiedRow)
                {
                    QLMamNon.Dao.QLMamNonDs.LopRow lopRow = row as QLMamNon.Dao.QLMamNonDs.LopRow;
                    int?khoiId = StaticDataUtil.GetKhoiIdByLopId(this.lopKhoiTableAdapter, lopRow.LopId);

                    if (khoiId != null)
                    {
                        this.lopKhoiTableAdapter.DeleteLopKhoiByLopId(lopRow.LopId);
                    }

                    if (!lopRow.IsKhoiIdNull())
                    {
                        this.lopKhoiTableAdapter.Insert(lopRow.LopId, lopRow.KhoiId);
                    }
                }

                foreach (DataRow row in addedRow)
                {
                    QLMamNon.Dao.QLMamNonDs.LopRow lopRow = row as QLMamNon.Dao.QLMamNonDs.LopRow;

                    if (!lopRow.IsKhoiIdNull())
                    {
                        this.lopKhoiTableAdapter.Insert(lopRow.LopId, lopRow.KhoiId);
                    }
                }
            }
        }
Esempio n. 9
0
        protected override void fillRelativeMainDataTable()
        {
            QLMamNon.Dao.QLMamNonDs.ViewTaiSanDataTable dataTable = (QLMamNon.Dao.QLMamNonDs.ViewTaiSanDataTable) this.viewTaiSanRowBindingSource.DataSource;

            foreach (QLMamNon.Dao.QLMamNonDs.ViewTaiSanRow row in dataTable)
            {
                row.PhanLoaiTaiSan = StaticDataUtil.GetPhanLoaiChiNameByPhieuChiId(this.phieuChiTableAdapter, row.PhieuChiId);
            }
        }
Esempio n. 10
0
        private void UCEditFormKhoiHoc_Enter(object sender, EventArgs e)
        {
            QLMamNon.Dao.QLMamNonDs.KhoiRow row = this.GridView.GetFocusedDataRow() as QLMamNon.Dao.QLMamNonDs.KhoiRow;

            if (row != null)
            {
                this.cmbTruong.EditValue = StaticDataUtil.GetTruongIdByKhoiId(this.khoiTruongTableAdapter, row.KhoiId);
            }
        }
Esempio n. 11
0
        private void UCEditFormLopHoc_Enter(object sender, EventArgs e)
        {
            QLMamNon.Dao.QLMamNonDs.LopRow row = this.GridView.GetFocusedDataRow() as QLMamNon.Dao.QLMamNonDs.LopRow;

            if (row != null)
            {
                this.cmbKhoi.EditValue = StaticDataUtil.GetKhoiIdByLopId(this.lopKhoiTableAdapter, row.LopId);
            }
        }
Esempio n. 12
0
        public QLMamNon.Dao.QLMamNonDs.PhieuThuDataTable LoadPhieuThuByDateRangeWithGroupPhanLoaiThu(DateTime?fromDate, DateTime?toDate, List <int> phanLoaiThuIds)
        {
            PhieuThuTableAdapter phieuThuTableAdapter = (PhieuThuTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterPhieuThu);

            QLMamNon.Dao.QLMamNonDs.PhieuThuDataTable table = phieuThuTableAdapter.GetDataByDateRangeWithGroupPhanLoaiThu(fromDate, toDate, StringUtil.JoinWithCommas(phanLoaiThuIds));

            foreach (PhieuThuRow phieuThuRow in table)
            {
                phieuThuRow.PhanLoaiThu = StaticDataUtil.GetPhanLoaiThuById(phieuThuRow.PhanLoaiThuId);
            }

            return(table);
        }
Esempio n. 13
0
        private void loadLopData()
        {
            QLMamNon.Dao.QLMamNonDs.LopDataTable dataTable = this.lopTableAdapter.GetData();

            foreach (QLMamNon.Dao.QLMamNonDs.LopRow row in dataTable)
            {
                int?khoiId = StaticDataUtil.GetKhoiIdByLopId(this.lopKhoiTableAdapter, row.LopId);
                if (khoiId.HasValue)
                {
                    row.KhoiId = khoiId.Value;
                }
            }

            this.lopRowBindingSource.DataSource = dataTable;
        }
Esempio n. 14
0
        private void loadKhoiData()
        {
            QLMamNon.Dao.QLMamNonDs.KhoiDataTable dataTable = this.khoiTableAdapter.GetData();

            foreach (QLMamNon.Dao.QLMamNonDs.KhoiRow row in dataTable)
            {
                int?truongId = StaticDataUtil.GetTruongIdByKhoiId(this.khoiTruongTableAdapter, row.KhoiId);
                if (truongId.HasValue)
                {
                    row.TruongId = truongId.Value;
                }
            }

            this.khoiRowBindingSource.DataSource = dataTable;
        }
Esempio n. 15
0
        private void gvMain_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
        {
            ColumnView view = sender as ColumnView;

            if (e.Column.FieldName == "GioiTinh" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object objGioiTinh = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "GioiTinh");
                if (objGioiTinh != DBNull.Value)
                {
                    sbyte gioiTinh = (sbyte)objGioiTinh;
                    switch (gioiTinh)
                    {
                    case 0: e.DisplayText = "Nữ"; break;

                    case 1: e.DisplayText = "Nam"; break;
                    }
                }
            }
            else if (e.Column.FieldName == "TinhTPId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object tinhId = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "TinhTPId");
                if (tinhId != DBNull.Value)
                {
                    e.DisplayText = StaticDataUtil.GetThanhPhoById(StaticDataFacade.Get(StaticDataKeys.TinhThanhPho) as QLMamNon.Dao.QLMamNonDs.ThanhPhoDataTable, (int)tinhId);
                }
            }
            else if (e.Column.FieldName == "QuanHuyenId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object quanHuyenId = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "QuanHuyenId");
                if (quanHuyenId != DBNull.Value)
                {
                    e.DisplayText = StaticDataUtil.GetQuanHuyenById(StaticDataFacade.Get(StaticDataKeys.QuanHuyen) as QLMamNon.Dao.QLMamNonDs.QuanHuyenDataTable, (int)quanHuyenId);
                }
            }
            else if (e.Column.FieldName == "PhuongXaId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object phuongXaId = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "PhuongXaId");
                if (phuongXaId != DBNull.Value)
                {
                    e.DisplayText = StaticDataUtil.GetPhuongXaById(StaticDataFacade.Get(StaticDataKeys.PhuongXa) as QLMamNon.Dao.QLMamNonDs.PhuongXaDataTable, (int)phuongXaId);
                }
            }
        }
Esempio n. 16
0
        public QLMamNon.Dao.QLMamNonDs.PhieuThuDataTable LoadPhieuThu(HocSinhDataTable hocSinhTable)
        {
            PhieuThuTableAdapter phieuThuTableAdapter = (PhieuThuTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterPhieuThu);
            PhieuThuDataTable    table = phieuThuTableAdapter.GetData();

            foreach (PhieuThuRow row in table)
            {
                if (!row.IsHocSinhIdNull())
                {
                    row.HocSinh = StaticDataUtil.GetHocSinhFullNameByHocSinhId(hocSinhTable, row.HocSinhId);
                }

                if (!row.IsPhanLoaiThuIdNull())
                {
                    row.PhanLoaiThu = StaticDataUtil.GetPhanLoaiThuById(row.PhanLoaiThuId);
                }
            }

            return(table);
        }
Esempio n. 17
0
        private List <ViewBangThuTienRow> loadViewBangThuTiensToanTruong(DateTime toDate, int?lopId)
        {
            ViewBangThuTienTableAdapter     viewBangThuTienTableAdapter     = (ViewBangThuTienTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterViewBangThuTien);
            BangThuTienKhoanThuTableAdapter bangThuTienKhoanThuTableAdapter = (BangThuTienKhoanThuTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterBangThuTienKhoanThu);
            PhieuThuTableAdapter            phieuThuTableAdapter            = (PhieuThuTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterPhieuThu);

            ViewBangThuTienDataTable table = viewBangThuTienTableAdapter.GetViewBangThuTienByNgayTinhAndLop(toDate, lopId);
            List <int> bangThuTienIds      = new List <int>(table.Rows.Count);

            foreach (ViewBangThuTienRow row in table)
            {
                bangThuTienIds.Add(row.BangThuTienId);
            }

            if (!ListUtil.IsEmpty(bangThuTienIds))
            {
                QLMamNon.Dao.QLMamNonDs.BangThuTienKhoanThuDataTable bTTKTDataTable    = bangThuTienKhoanThuTableAdapter.GetBangThuTienKhoanThuByBangThuTienIds(String.Join(",", bangThuTienIds));
                QLMamNon.Dao.QLMamNonDs.PhieuThuDataTable            phieuThuDataTable = phieuThuTableAdapter.GetDataByHocSinhIdAndNgayTinh(-1, toDate);

                Dictionary <int, ViewBangThuTienRow> prevMonthRowDictionary = this.EvaluatePrevMonthViewBangThuTienTable(toDate.AddMonths(-1), lopId);
                HocSinhDataTable hocSinhDataTable = this.getHocSinhData();

                foreach (ViewBangThuTienRow row in table)
                {
                    row.HoTen = StaticDataUtil.GetHocSinhFullNameByHocSinhId(hocSinhDataTable, row.HocSinhId);
                    BangThuTienUtil.EvaluateValuesForViewBangThuTienRow(row,
                                                                        prevMonthRowDictionary != null && prevMonthRowDictionary.ContainsKey(row.HocSinhId) ? prevMonthRowDictionary[row.HocSinhId] : null,
                                                                        bTTKTDataTable, phieuThuDataTable, false, false, true);
                }
            }

            List <ViewBangThuTienRow> viewBangThuTienRows = new List <Dao.QLMamNonDs.ViewBangThuTienRow>();

            foreach (ViewBangThuTienRow row in table)
            {
                viewBangThuTienRows.Add(row);
            }

            return(viewBangThuTienRows);
        }
Esempio n. 18
0
        private void loadViewBangThuTiens(DateTime ngayTinh, int lop)
        {
            if (this.isNeedToGenerateSoThuTiens(ngayTinh, lop, false))
            {
                this.showFormGenerateSoThuTiens(true);
                return;
            }

            ViewBangThuTienDataTable table = viewBangThuTienTableAdapter.GetViewBangThuTienByNgayTinhAndLop(ngayTinh, lop);
            List <int> bangThuTienIds      = new List <int>(table.Rows.Count);

            foreach (ViewBangThuTienRow row in table)
            {
                bangThuTienIds.Add(row.BangThuTienId);
            }

            if (!ListUtil.IsEmpty(bangThuTienIds))
            {
                bTTKTDataTable    = bangThuTienKhoanThuTableAdapter.GetBangThuTienKhoanThuByBangThuTienIds(String.Join(",", bangThuTienIds));
                phieuThuDataTable = phieuThuTableAdapter.GetDataByHocSinhIdAndNgayTinh(-1, ngayTinh);

                SoThuTienService soThuTienService = new SoThuTienService();
                prevMonthRowDictionary = soThuTienService.EvaluatePrevMonthViewBangThuTienTable(ngayTinh.AddMonths(-1), lop);

                foreach (ViewBangThuTienRow row in table)
                {
                    row.HoTen = StaticDataUtil.GetHocSinhFullNameByHocSinhId(hocSinhDataTable, row.HocSinhId);
                    BangThuTienUtil.EvaluateValuesForViewBangThuTienRow(row,
                                                                        prevMonthRowDictionary != null && prevMonthRowDictionary.ContainsKey(row.HocSinhId) ? prevMonthRowDictionary[row.HocSinhId] : null,
                                                                        bTTKTDataTable, phieuThuDataTable, false, false, true);
                    row.AcceptChanges();
                }
            }

            this.viewBangThuTienRowBindingSource.DataSource = table;
            this.DataTable = table;
        }
Esempio n. 19
0
        public int GenerateSoThuTienByHocSinhRows(DateTime ngayTinh, List <HocSinhRow> hocSinhRows)
        {
            ViewBangThuTienTableAdapter viewBangThuTienTableAdapter = (ViewBangThuTienTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterViewBangThuTien);
            ViewBangThuTienDataTable    viewBangThuTienTable        = viewBangThuTienTableAdapter.GetViewBangThuTienByNgayTinhAndLop(ngayTinh, null);

            List <int>        hocSinhIds = new List <int>();
            List <HocSinhRow> needToGenerateHocSinhRows = new List <Dao.QLMamNonDs.HocSinhRow>();

            foreach (HocSinhRow hocSinh in hocSinhRows)
            {
                DataRow[] rows = viewBangThuTienTable.Select(String.Format("HocSinhId={0}", hocSinh.HocSinhId));

                if (ArrayUtil.IsEmpty(rows))
                {
                    hocSinhIds.Add(hocSinh.HocSinhId);
                    needToGenerateHocSinhRows.Add(hocSinh);
                }
            }

            Dictionary <int, HocSinhLopRow> hocSinhIdsToHocSinhLops = StaticDataUtil.GetHocSinhLopsByHocSinhIds(hocSinhIds, ngayTinh);
            Dictionary <int, Dictionary <int, ViewBangThuTienRow> > lopToHocSinhToViewBangThuTienRowsMap          = buildLopToHocSinhToViewBangThuTienRowsMap(viewBangThuTienTable, ngayTinh);
            Dictionary <int, Dictionary <int, ViewBangThuTienRow> > prevMonthLopToHocSinhToViewBangThuTienRowsMap = getAndSortPrevMonthViewBangThuTienRows(ngayTinh, viewBangThuTienTableAdapter, hocSinhIds, hocSinhIdsToHocSinhLops, lopToHocSinhToViewBangThuTienRowsMap);
            Dictionary <int, int> generatedLopToSTTs = buildGeneratedLopIdToSTTMap(lopToHocSinhToViewBangThuTienRowsMap);

            // Generate SoThuTien for HocSinhs that exist in previous month
            foreach (HocSinhRow hocSinh in needToGenerateHocSinhRows)
            {
                if (hocSinhIdsToHocSinhLops.ContainsKey(hocSinh.HocSinhId))
                {
                    int lopId = hocSinhIdsToHocSinhLops[hocSinh.HocSinhId].LopId;
                    ViewBangThuTienRow preMonthViewBangThuTien = null;

                    if (prevMonthLopToHocSinhToViewBangThuTienRowsMap.ContainsKey(lopId))
                    {
                        Dictionary <int, ViewBangThuTienRow> prevMonthhocSinhToViewBangThuTienRowsMap = prevMonthLopToHocSinhToViewBangThuTienRowsMap[lopId];

                        if (prevMonthhocSinhToViewBangThuTienRowsMap.ContainsKey(hocSinh.HocSinhId))
                        {
                            preMonthViewBangThuTien = prevMonthhocSinhToViewBangThuTienRowsMap[hocSinh.HocSinhId];
                        }
                    }

                    if (preMonthViewBangThuTien != null)
                    {
                        GenerateSoThuTienByHocSinhAndLopAndNgayTinh(hocSinh.HocSinhId, lopId, ngayTinh, preMonthViewBangThuTien.STT, preMonthViewBangThuTien);

                        if (!generatedLopToSTTs.ContainsKey(lopId))
                        {
                            generatedLopToSTTs.Add(lopId, 0);
                        }

                        int currentSTT = generatedLopToSTTs[lopId];

                        if (currentSTT < preMonthViewBangThuTien.STT)
                        {
                            generatedLopToSTTs[lopId] = preMonthViewBangThuTien.STT;
                        }
                    }
                }
            }

            // Generate SoThuTien for HocSinhs that NOT exist in previous month
            foreach (HocSinhRow hocSinh in needToGenerateHocSinhRows)
            {
                if (hocSinhIdsToHocSinhLops.ContainsKey(hocSinh.HocSinhId))
                {
                    int lopId = hocSinhIdsToHocSinhLops[hocSinh.HocSinhId].LopId;
                    ViewBangThuTienRow preMonthViewBangThuTien = null;

                    if (prevMonthLopToHocSinhToViewBangThuTienRowsMap.ContainsKey(lopId))
                    {
                        Dictionary <int, ViewBangThuTienRow> prevMonthhocSinhToViewBangThuTienRowsMap = prevMonthLopToHocSinhToViewBangThuTienRowsMap[lopId];

                        if (prevMonthhocSinhToViewBangThuTienRowsMap.ContainsKey(hocSinh.HocSinhId))
                        {
                            preMonthViewBangThuTien = prevMonthhocSinhToViewBangThuTienRowsMap[hocSinh.HocSinhId];
                        }
                    }

                    if (preMonthViewBangThuTien == null)
                    {
                        if (!generatedLopToSTTs.ContainsKey(lopId))
                        {
                            generatedLopToSTTs.Add(lopId, 0);
                        }

                        int stt = generatedLopToSTTs[lopId] + 1;
                        GenerateSoThuTienByHocSinhAndLopAndNgayTinh(hocSinh.HocSinhId, lopId, ngayTinh, stt, preMonthViewBangThuTien);
                        generatedLopToSTTs[lopId] = stt;
                    }
                }
            }

            return(hocSinhIds.Count);
        }
Esempio n. 20
0
        private void btnXemBaoCao_Click(object sender, EventArgs e)
        {
            if (ControlUtil.IsEditValueNull(this.cmbYear))
            {
                MessageBox.Show("Xin vui lòng chọn năm", "Chọn năm", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            RptSoTheoDoiTaiSan rpt = new RptSoTheoDoiTaiSan();

            QLMamNon.Dao.QLMamNonDs.ViewBanGiaoTaiSanDataTable table = this.viewBanGiaoTaiSanTableAdapter.GetDataByYear((int)cmbYear.EditValue);
            List <SoTheoDoiTaiSanItem> soTheoDoiTaiSan         = new List <SoTheoDoiTaiSanItem>();
            SoTheoDoiTaiSanItem        prevSoTheoDoiTaiSanItem = null;
            SoTheoDoiTaiSanItem        soTheoDoiTaiSanItem     = null;

            foreach (QLMamNon.Dao.QLMamNonDs.ViewBanGiaoTaiSanRow row in table)
            {
                row.LopName = StaticDataUtil.GetLopNameByLopId(row.LopId);

                if (prevSoTheoDoiTaiSanItem != null && prevSoTheoDoiTaiSanItem.TaiSanId == row.TaiSanId)
                {
                    soTheoDoiTaiSanItem = new SoTheoDoiTaiSanItem()
                    {
                        TaiSanId        = row.TaiSanId,
                        GhiChu          = CommonConstant.EMPTY,
                        LyDoGiam        = "Bàn giao",
                        NgayChungTuGiam = row.NgayChungTu,
                        SoChungTuGiam   = row.SoChungTu,
                        SoLuongBanGiao  = row.SoLuongBanGiao,
                        SoTienBanGiao   = row.DonGia * row.SoLuongBanGiao,
                    };
                }
                else
                {
                    soTheoDoiTaiSanItem = new SoTheoDoiTaiSanItem()
                    {
                        TaiSanId        = row.TaiSanId,
                        Ten             = row.Ten,
                        DonGia          = row.DonGia,
                        DonViTinh       = row.DonViTinh,
                        GhiChu          = CommonConstant.EMPTY,
                        LyDoGiam        = "Bàn giao",
                        NgayChungTu     = row.NgayChungTu,
                        NgayChungTuGiam = row.NgayChungTu,
                        SoChungTu       = row.SoChungTu,
                        SoChungTuGiam   = row.SoChungTu,
                        SoLuong         = row.SoLuong,
                        SoLuongBanGiao  = row.SoLuongBanGiao,
                        SoTienBanGiao   = row.DonGia * row.SoLuongBanGiao,
                        ThanhTien       = row.SoLuong * row.DonGia
                    };
                }

                soTheoDoiTaiSan.Add(soTheoDoiTaiSanItem);
                prevSoTheoDoiTaiSanItem = soTheoDoiTaiSanItem;
            }

            rpt.bindingSource.DataSource = soTheoDoiTaiSan;
            rpt.Year.Value = this.cmbYear.EditValue;
            FormMainFacade.ShowReport(rpt);
        }
Esempio n. 21
0
        private void gvMain_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
        {
            ColumnView view = sender as ColumnView;

            if (e.Column.FieldName == "GioiTinh" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object objGioiTinh = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "GioiTinh");
                if (objGioiTinh != DBNull.Value)
                {
                    sbyte gioiTinh = (sbyte)objGioiTinh;
                    switch (gioiTinh)
                    {
                    case 0: e.DisplayText = "Nữ"; break;

                    case 1: e.DisplayText = "Nam"; break;
                    }
                }
            }
            else if (e.Column.FieldName == "ThoiHoc" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                Object thoiHoc = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "ThoiHoc");
                e.DisplayText = (thoiHoc != null && thoiHoc.Equals(true)) ? "Thôi học" : "Đang học";
            }
            else if (e.Column.FieldName == "TinhThanhPhoId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object tinhId = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "TinhThanhPhoId");
                if (tinhId != DBNull.Value)
                {
                    e.DisplayText = StaticDataUtil.GetThanhPhoById(StaticDataFacade.Get(StaticDataKeys.TinhThanhPho) as QLMamNon.Dao.QLMamNonDs.ThanhPhoDataTable, (int)tinhId);
                }
            }
            else if (e.Column.FieldName == "QuanHuyenId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object quanHuyenId = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "QuanHuyenId");
                if (quanHuyenId != DBNull.Value)
                {
                    e.DisplayText = StaticDataUtil.GetQuanHuyenById(StaticDataFacade.Get(StaticDataKeys.QuanHuyen) as QLMamNon.Dao.QLMamNonDs.QuanHuyenDataTable, (int)quanHuyenId);
                }
            }
            else if (e.Column.FieldName == "PhuongXaId" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
            {
                object phuongXaId = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "PhuongXaId");
                if (phuongXaId != DBNull.Value)
                {
                    e.DisplayText = StaticDataUtil.GetPhuongXaById(StaticDataFacade.Get(StaticDataKeys.PhuongXa) as QLMamNon.Dao.QLMamNonDs.PhuongXaDataTable, (int)phuongXaId);
                }
            }
            else if (e.Column.Caption == "NgaySinh" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle && e.Value != DBNull.Value)
            {
                object ngaySinhObj = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "NgaySinh");
                if (ngaySinhObj != DBNull.Value)
                {
                    DateTime ngaySinh = (DateTime)ngaySinhObj;
                    e.DisplayText = ngaySinh.Day.ToString();
                }
            }
            else if (e.Column.Caption == "ThangSinh" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle && e.Value != DBNull.Value)
            {
                object ngaySinhObj = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "NgaySinh");
                if (ngaySinhObj != DBNull.Value)
                {
                    DateTime ngaySinh = (DateTime)ngaySinhObj;
                    e.DisplayText = ngaySinh.Month.ToString();
                }
            }
            else if (e.Column.Caption == "NamSinh" && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle && e.Value != DBNull.Value)
            {
                object ngaySinhObj = view.GetListSourceRowCellValue(e.ListSourceRowIndex, "NgaySinh");
                if (ngaySinhObj != DBNull.Value)
                {
                    DateTime ngaySinh = (DateTime)ngaySinhObj;
                    e.DisplayText = ngaySinh.Year.ToString();
                }
            }
        }
Esempio n. 22
0
        protected override void onSaving()
        {
            DataTable table = this.DataTable.GetChanges();

            if (table != null)
            {
                List <DataRow> deletedRow  = new List <DataRow>();
                List <DataRow> addedRow    = new List <DataRow>();
                List <DataRow> modifiedRow = new List <DataRow>();

                foreach (DataRow row in table.Rows)
                {
                    if (row.RowState == DataRowState.Deleted)
                    {
                        deletedRow.Add(row);
                    }
                    else if (row.RowState == DataRowState.Added)
                    {
                        addedRow.Add(row);
                    }
                    if (row.RowState == DataRowState.Modified)
                    {
                        modifiedRow.Add(row);
                    }
                }

                base.onSaving();

                foreach (DataRow row in deletedRow)
                {
                    QLMamNon.Dao.QLMamNonDs.KhoiRow khoiRow = row as QLMamNon.Dao.QLMamNonDs.KhoiRow;
                    this.khoiTruongTableAdapter.DeleteKhoiTruongByKhoiId(khoiRow.KhoiId);
                }

                foreach (DataRow row in modifiedRow)
                {
                    QLMamNon.Dao.QLMamNonDs.KhoiRow       khoiRow       = row as QLMamNon.Dao.QLMamNonDs.KhoiRow;
                    QLMamNon.Dao.QLMamNonDs.KhoiTruongRow khoiTruongRow = StaticDataUtil.GetKhoiTruongByKhoiId(this.khoiTruongTableAdapter, khoiRow.KhoiId);

                    if (khoiTruongRow != null)
                    {
                        this.khoiTruongTableAdapter.DeleteKhoiTruongByKhoiId(khoiRow.KhoiId);
                    }

                    if (!khoiRow.IsTruongIdNull())
                    {
                        this.khoiTruongTableAdapter.Insert(khoiRow.KhoiId, khoiRow.TruongId);
                    }
                }

                foreach (DataRow row in addedRow)
                {
                    QLMamNon.Dao.QLMamNonDs.KhoiRow khoiRow = row as QLMamNon.Dao.QLMamNonDs.KhoiRow;

                    if (!khoiRow.IsTruongIdNull())
                    {
                        this.khoiTruongTableAdapter.Insert(khoiRow.KhoiId, khoiRow.TruongId);
                    }
                }
            }
        }
Esempio n. 23
0
        private void addPhieuThuToReport(SortedList soQuyTienMatMap, DateTime fromDate, DateTime toDate, List <int> phanLoaiThuIds)
        {
            PhieuThuTableAdapter phieuThuTableAdapter = (PhieuThuTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterPhieuThu);

            QLMamNon.Dao.QLMamNonDs.PhieuThuDataTable phieuThuDataTable = phieuThuTableAdapter.GetDataForSoQuyTienMat(fromDate, toDate, StringUtil.JoinWithCommas(phanLoaiThuIds));
            Dictionary <string, SoQuyTienMatItem>     groupDateToSoQuyTienMatItemsMap = new Dictionary <string, SoQuyTienMatItem>();

            foreach (QLMamNon.Dao.QLMamNonDs.PhieuThuRow phieuThuRow in phieuThuDataTable)
            {
                phieuThuRow.PhanLoaiThu = phieuThuRow.IsPhanLoaiThuIdNull() ? "Thu tiền học phí" : StaticDataUtil.GetPhanLoaiThuById(phieuThuRow.PhanLoaiThuId);

                int      groupDate   = getGroupDate(fromDate, phieuThuRow);
                DateTime dateOfGroup = fromDate.AddDays((groupDate + 1) * NumberOfDateToGroupPhieuThu - 1);

                if (dateOfGroup > toDate)
                {
                    dateOfGroup = toDate;
                }

                string key = StringUtil.Join(new int[] { groupDate, phieuThuRow.PhanLoaiThuId }, "~");

                if (!groupDateToSoQuyTienMatItemsMap.ContainsKey(key))
                {
                    groupDateToSoQuyTienMatItemsMap.Add(key, new SoQuyTienMatItem()
                    {
                        DienGiai    = phieuThuRow.PhanLoaiThu,
                        NgayChungTu = dateOfGroup,
                        SoTienThu   = 0
                    });
                }
            }

            foreach (QLMamNon.Dao.QLMamNonDs.PhieuThuRow phieuThuRow in phieuThuDataTable)
            {
                int              groupDate           = getGroupDate(fromDate, phieuThuRow);
                string           key                 = StringUtil.Join(new int[] { groupDate, phieuThuRow.PhanLoaiThuId }, "~");
                SoQuyTienMatItem soQuyTienMatItemThu = groupDateToSoQuyTienMatItemsMap[key];
                soQuyTienMatItemThu.SoTienThu += phieuThuRow.SoTien;
            }

            int addedCount = 0;

            foreach (SoQuyTienMatItem soQuyTienMatItemThu in groupDateToSoQuyTienMatItemsMap.Values)
            {
                soQuyTienMatMap.Add(soQuyTienMatItemThu.NgayChungTu.AddMilliseconds(addedCount++), soQuyTienMatItemThu);
            }
        }