Esempio n. 1
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (gridView2.RowCount > 0 && gridView2.Columns["SoTien"].SummaryItem.SummaryValue.ToString() != (iSoTien.Value * (iLoaiKhachHang.EditValue.ToString() == "8" ? -1 : 1)).ToString())
            {
                XuLyGiaoDien.Alert("Tổng tiền chi tiết không bằng giao dịch", Form_Alert.enmType.Warning);
                return;
            }

            List <KiemTra> kiemTras = new List <KiemTra>()
            {
                new KiemTra()
                {
                    _Control = iNganHangID, _Tu = 2, _Den = 50
                },
                new KiemTra()
                {
                    _Control = iLoaiGiaoDich, _Tu = 2, _Den = 50
                },
                new KiemTra()
                {
                    _Control = iMaDL, _Tu = 2, _Den = 50, _ChoQuaThang = new List <int>()
                    {
                        6, 9
                    }.Contains((int)iLoaiKhachHang.EditValue)
                },
                new KiemTra()
                {
                    _Control = iLoaiKhachHang, _Tu = 2, _Den = 50
                }
            };

            XuLyGiaoDien.KiemTra(kiemTras, dxValidationProvider1);
            if (!dxValidationProvider1.Validate())
            {
                XuLyGiaoDien.Alert("Thông tin không hợp lệ", Form_Alert.enmType.Warning);
                return;
            }

            List <Dictionary <string, object> > lstDic = new List <Dictionary <string, object> >();
            Dictionary <string, object>         dic    = new Dictionary <string, object>();

            dic = XuLyDuLieu.FormToDictionary(this, dic);

            bool ThanhCong = false;

            if (int.Parse(iLoaiKhachHang.EditValue.ToString()) == 7)
            {
                Dictionary <string, object> dicnh = new Dictionary <string, object>();
                dicnh.Add("NgayGD", iNgayGD.DateTime);
                dicnh.Add("NganHangID", iMaDL.EditValue);
                dicnh.Add("MaDL", iNganHangID.EditValue);
                dicnh.Add("SoTien", 0 - iSoTien.Value);
                dicnh.Add("GhiChu", iGhiChu.Text);
                dicnh.Add("TrangThaiID", iTrangThaiID.EditValue);
                dicnh.Add("NgayHT", iNgayHT.DateTime);
                dicnh.Add("LoaiGiaoDich", ((int)iLoaiGiaoDich.EditValue % 2 == 0) ? int.Parse(iLoaiGiaoDich.EditValue.ToString()) - 1 : int.Parse(iLoaiGiaoDich.EditValue.ToString()) + 1);
                dicnh.Add("LoaiKhachHang", iLoaiKhachHang.EditValue);
                dicnh.Add("NVGiaoDich", iNVGiaoDich.EditValue);
                dicnh.Add("GhiChuNV", iGhiChuNV.Text);
                if (CTM.ID == 0)
                {
                    string Ma = ct.LayGioServer().ToString("yyyyMMddhhmmssttt");
                    dicnh.Add("MaLienKet", Ma);
                    dic.Add("MaLienKet", Ma);
                    lstDic.Add(dic);
                    lstDic.Add(dicnh);
                    ThanhCong = ct.ThemNhieu1Ban(lstDic) > 1;
                }
                else
                {
                    List <string> lstCTV = new List <string>()
                    {
                        string.Format("WHERE ID = {0}", CTM.ID), string.Format("WHERE MaLienKet = '{1}' and ID <> {0}", CTM.ID, CTM.MaLienKet)
                    };
                    lstDic.Add(dic);
                    lstDic.Add(dicnh);
                    if ((int)iLoaiGiaoDich.EditValue != CTM.LoaiGiaoDich)
                    {
                        string Ma = ct.LayGioServer().ToString("yyyyMMddhhmmssttt");
                        dicnh.Add("MaLienKet", Ma);
                        dic.Add("MaLienKet", Ma);
                        List <string> lstTb   = new List <string>();
                        List <string> lstThem = new List <string>();
                        lstThem.Add("S");
                        lstThem.Add("T");
                        lstTb.Add("CTNGANHANG");
                        lstTb.Add("CTNGANHANG");
                        ThanhCong = ct.CapNhat_ThemNhieu(lstDic, lstTb, lstCTV, lstThem) > 1;
                    }
                    else
                    {
                        ThanhCong = ct.SuaNhieu1Ban(lstDic, lstCTV) > 1;
                    }
                }
            }
            else
            {
                ThanhCong = ((CTM.ID == 0) ? ct.ThemMoi(dic) : ct.CapNhat(dic, CTM.ID)) > 0;
            }

            if (XuLyGiaoDien.ThongBao(iLoaiGiaoDich.Text + (CTM.ID != 0 ? " sửa" : " thêm"), ThanhCong))
            {
                if (_GiaoDichOLD.Count > 0 || _GiaoDich.Count > 0)
                {
                    List <Dictionary <string, object> > lstDicT = new List <Dictionary <string, object> >();
                    List <string> lstTb   = new List <string>();
                    List <string> lstThem = new List <string>();
                    List <string> lstCTV  = new List <string>();
                    foreach (O_BAOCAOCTNH d in _GiaoDich)
                    {
                        if (_GiaoDichOLD.Contains(d))
                        {
                            lstDicT.Add(XuLyDuLieu.ConvertClassToDic(d));
                            lstThem.Add("S");
                        }
                        else
                        {
                            lstDicT.Add(XuLyDuLieu.ConvertClassToDic(d));
                            lstThem.Add("T");
                        }
                        lstCTV.Add(string.Format("WHERE ID = {0}", d.ID));
                        lstTb.Add("BAOCAOCTNH");
                    }
                    new D_BAOCAOCTNH().CapNhat_ThemNhieu(lstDicT, lstTb, lstCTV, lstThem);

                    List <object> lstCTVBC = new List <object>();
                    foreach (O_BAOCAOCTNH d in _GiaoDichOLD)
                    {
                        if (!_GiaoDich.Contains(d))
                        {
                            lstCTVBC.Add(d.ID);
                        }
                    }

                    if (lstCTVBC.Count > 0)
                    {
                        new D_BAOCAOCTNH().XoaNhieu1Ban(lstCTVBC, "BAOCAOCTNH");
                    }
                }
                new D_NGANHANG().ChayLaiSD();
                O_LOAIGIAODICH _NCCO = iLoaiGiaoDich.GetSelectedDataRow() as O_LOAIGIAODICH;
                if (CTM.NganHangID == 1)
                {
                    (Owner.ActiveMdiChild as frmTienMat).TaiLaiDuLieu();
                }
                else
                {
                    (Owner.ActiveMdiChild as frmNganHang).LayDLNganHang();
                    (Owner.ActiveMdiChild as frmNganHang).TaiLaiDuLieu();
                }
                GhiChuCmt(CTM.ID);
                Close();
            }
        }
Esempio n. 2
0
        private void btnTHu_Click(object sender, EventArgs e)
        {
            if (XtraMessageBox.Show("Bạn muốn thêm phí ?", "Câu hỏi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                int n = lstDaiLyz.CheckedItems.Count;
                if (n == 0)
                {
                    XuLyGiaoDien.Alert("Chưa chọn đại lý tìm", Form_Alert.enmType.Info);
                }
                else
                {
                    if (!XuLyGiaoDien.wait.IsSplashFormVisible)
                    {
                        XuLyGiaoDien.wait.ShowWaitForm();
                    }
                    List <long> a     = new List <long>();
                    string      daily = string.Format("{0}", lstDaiLyz.CheckedItems[0]);
                    a.Add(long.Parse(lstDaiLyz.CheckedItems[0].ToString()));
                    for (int i = 1; i < n; i++)
                    {
                        a.Add(long.Parse(lstDaiLyz.CheckedItems[i].ToString()));
                        daily += string.Format(",{0}", lstDaiLyz.CheckedItems[i]);
                    }

                    lst = new D_HOADON().DuLieu(string.Format("CONVERT(date, NgayThucHien) BETWEEN '{0}' AND '{1}' AND MaHD <> '0'  AND ((GiaYeuCau - GiaHeThong) * PhanTram / 100) > 0 AND IDKhachHang in ({2}) ORDER BY IDKhachHang,MaHD,MaCho,GiaHeThong Desc", bdtpTu.DateTime.ToString("yyyyMMdd"), bdtpDen.DateTime.ToString("yyyyMMdd"), daily));

                    O_GIAODICH gdo;

                    O_KHOANGAY kn = new D_KHOANGAY().KiemTraNgayKhoa(bdtpTu.DateTime);
                    if (kn.KhoaAdmin)
                    {
                        return;
                    }

                    D_GIAODICH giaoDichD = new D_GIAODICH();
                    foreach (int b in a)
                    {
                        O_DAILY dl = lstDaiLy.Where(w => w.ID.Equals(b)).ToList()[0];
                        XuLyGiaoDien.wait.SetWaitFormDescription("Thu phí: " + dl.Ten);

                        gdo = new O_GIAODICH();
                        gdo.LoaiKhachHang = dl.LoaiKhachHang;
                        gdo.IDKhachHang   = dl.ID;
                        gdo.MaCho         = "HD";
                        gdo.NVGiaoDich    = DuLieuTaoSan.NV.ID;
                        gdo.GiaThu        = gdo.GiaHeThong = long.Parse(lst.Where(w => w.IDKhachHang.Equals(b)).Sum(w => w.CL2).ToString());
                        gdo.TenKhach      = "Phí hóa đơn tháng " + bdtpTu.DateTime.Month;
                        gdo.CoDinh        = true;
                        gdo.HTTT          = 1;
                        gdo.LoaiGiaoDich  = 5;
                        if (gdo.GiaHeThong > 0)
                        {
                            giaoDichD.ThemMoi(XuLyDuLieu.ConvertClassToDic(gdo));
                        }
                    }
                    if (XuLyGiaoDien.wait.IsSplashFormVisible)
                    {
                        XuLyGiaoDien.wait.CloseWaitForm();
                    }
                    XuLyGiaoDien.Alert("Thêm giao dịch thành công!", Form_Alert.enmType.Success);
                }
            }
        }