private void LUU_DULIEU(NVGDQUAY_ASYNCCLIENT_DTO _NVGDQUAY_ASYNCCLIENT_DTO)
        {
            try
            {
                int    countSave = 0;
                string msg       = Config.CheckConnectToServer(out bool result);
                if (msg.Length > 0)
                {
                    MessageBox.Show(msg); return;
                }

                if (result)
                {
                    countSave = SAVE_DATA_TO_ORACLE(_NVGDQUAY_ASYNCCLIENT_DTO);
                }
                else
                {
                    countSave = SAVE_DATA_TO_SQL(_NVGDQUAY_ASYNCCLIENT_DTO);
                }
                if (countSave >= 2)
                {
                    NotificationLauncher.ShowNotification("Thông báo", "Hoàn thành giao dịch", 1, "0x1", "0x8", "normal");
                }
            }
            catch (Exception ex)
            {
                WriteLogs.LogError(ex);
            }
        }
        public FrmThanhToanTraLai(NVGDQUAY_ASYNCCLIENT_DTO NVGDQUAY_ASYNCCLIENT_DTO, NVGDQUAY_ASYNCCLIENT_DTO _NVGDQUAY_ASYNCCLIENT_BILL)
        {
            _NVGDQUAY_ASYNCCLIENT_DTO_GLOBAL  = NVGDQUAY_ASYNCCLIENT_DTO;
            _NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL = _NVGDQUAY_ASYNCCLIENT_BILL;
            InitializeComponent();
            int _currentUcFrame = FrmMain._currentUcFrame;

            this.Text = "THANH TOÁN HÓA ĐƠN TRẢ LẠI " + (_currentUcFrame + 1);
            txtThanhToan_MaGiaoDich.Text    = _NVGDQUAY_ASYNCCLIENT_DTO_GLOBAL.MAGIAODICH;
            txtThanhToan_TienThanhToan.Text = FormatCurrency.FormatMoney(_NVGDQUAY_ASYNCCLIENT_DTO_GLOBAL.TTIENCOVAT);
            txtThanhToan_TienMat.Text       = FormatCurrency.FormatMoney(_NVGDQUAY_ASYNCCLIENT_DTO_GLOBAL.TTIENCOVAT);
            txtThanhToan_TienMat.Focus();
            this.ActiveControl = txtThanhToan_TienMat;
            txtThanhToan_TienMat.SelectAll();
            decimal.TryParse(txtThanhToan_TienMat.Text.Trim(), out TONGTIEN_KHACHTRA);
        }
示例#3
0
 /// <summary>
 /// fill data to bill
 /// </summary>
 /// <param name="objBillDto"></param>
 /// <param name="data"></param>
 /// GIAO DỊCH BÁN LẺ
 public void PrintInvoice_BanLeInLai(BILL_DTO objBillDto, NVGDQUAY_ASYNCCLIENT_DTO _NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL)
 {
     done = true;
     try
     {
         ReportInLaiBill reportInLai = new ReportInLaiBill();
         foreach (Parameter p in reportInLai.Parameters)
         {
             p.Visible = false;
         }
         reportInLai.InitDataInLaiBillBanLe(_NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL, objBillDto);
         dcmvContent.DocumentSource = reportInLai;
         reportInLai.CreateDocument();
         reportInLai.Print();
     }
     catch
     {
         NotificationLauncher.ShowNotificationError("THÔNG BÁO", "KHÔNG TÌM THẤY MÁY IN", 1, "0x1", "0x8", "normal");
     }
 }
 private void FrmThanhToan_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Escape)
     {
         this.Close();
         _NVGDQUAY_ASYNCCLIENT_DTO_GLOBAL  = new NVGDQUAY_ASYNCCLIENT_DTO();
         _NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL = new NVGDQUAY_ASYNCCLIENT_DTO();
     }
     if (e.KeyCode == Keys.Enter)
     {
         decimal tienThanhToan = 0;
         decimal.TryParse(txtThanhToan_TienTraLai.Text, out tienThanhToan);
         if (tienThanhToan >= 0)
         {
             THANHTOAN_HOADON_BANLE_TRALAI();
         }
         else
         {
             NotificationLauncher.ShowNotificationError("Thông báo", "Sai tiền !", 1, "0x1", "0x8", "normal");
         }
     }
 }
示例#5
0
 // GIAO DỊCH BÁN LẺ
 public void InitDataInLaiBillBanLe(NVGDQUAY_ASYNCCLIENT_DTO _NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL, BILL_DTO objecBillDto)
 {
     lblDate.Text         = _NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL.NGAYPHATSINH.ToString("dd/MM/yyyy") + " " + _NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL.THOIGIAN;
     p_Phone.Value        = objecBillDto.PHONE;
     p_Address.Value      = objecBillDto.ADDRESS;
     p_MaGiaoDich.Value   = objecBillDto.MAGIAODICH;
     p_InfoThuNgan.Value  = objecBillDto.INFOTHUNGAN;
     p_MaKH.Value         = objecBillDto.MAKH;
     p_Diem.Value         = objecBillDto.DIEM;
     p_ThanhTienChu.Value = objecBillDto.THANHTIENCHU;
     p_ConLai.Value       = objecBillDto.CONLAI;
     p_TienKhachTra.Value = objecBillDto.TIENKHACHTRA;
     if (_NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL.LST_DETAILS.Count > 0)
     {
         List <VATTU_DTO.OBJ_VAT> obj_Vat = new List <VATTU_DTO.OBJ_VAT>();
         foreach (var rowData in _NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL.LST_DETAILS)
         {
             var existVat = obj_Vat.FirstOrDefault(x => x.MAVATRA == rowData.MAVAT);
             if (existVat != null)
             {
                 existVat.CHUACO_GTGT += rowData.TTIENCOVAT / (1 + (rowData.VATBAN / 100));
                 existVat.CO_GTGT     += (rowData.TTIENCOVAT / (1 + (rowData.VATBAN / 100))) * (rowData.VATBAN / 100);
             }
             else
             {
                 VATTU_DTO.OBJ_VAT vat = new VATTU_DTO.OBJ_VAT();
                 vat.MAVATRA     = rowData.MAVAT;
                 vat.TYLEVATRA   = rowData.VATBAN;
                 vat.CHUACO_GTGT = rowData.TTIENCOVAT / (1 + (rowData.VATBAN / 100));
                 vat.CO_GTGT     = vat.CHUACO_GTGT * (vat.TYLEVATRA / 100);
                 obj_Vat.Add(vat);
             }
             decimal tempKM = 0;
             try
             {
                 tempKM = rowData.TIENKHUYENMAI + rowData.TIENCHIETKHAU;
             }
             catch (Exception) { }
             if (tempKM != 0)
             {
                 rowData.THANHTIENFULL = string.Format(@"KM " + FormatCurrency.FormatMoney(tempKM) + " " + FormatCurrency.FormatMoney(rowData.TTIENCOVAT));
             }
             else
             {
                 rowData.THANHTIENFULL = FormatCurrency.FormatMoney(rowData.TTIENCOVAT);
             }
             int vattat = 0;
             int.TryParse(rowData.MAVAT, out vattat);
             rowData.MAVATTAT = vattat.ToString();
         }
         if (obj_Vat.Count > 0)
         {
             decimal TONGCHUAVAT = 0, TONGCOVAT = 0;
             foreach (VATTU_DTO.OBJ_VAT item in obj_Vat)
             {
                 int vattat = 0;
                 int.TryParse(item.MAVATRA, out vattat);
                 XRTableRow row = new XRTableRow();
                 row.Cells.Add(new XRTableCell()
                 {
                     Text          = vattat.ToString() + " > " + item.TYLEVATRA.ToString("#0'%'"),
                     TextAlignment = TextAlignment.MiddleCenter,
                     Font          = new Font(Font.FontFamily, 6, FontStyle.Regular)
                 });
                 row.Cells.Add(new XRTableCell()
                 {
                     Text          = item.CHUACO_GTGT.ToString("##,###"),
                     TextAlignment = TextAlignment.MiddleCenter,
                     Font          = new Font(Font.FontFamily, 6, FontStyle.Regular)
                 });
                 row.Cells.Add(new XRTableCell()
                 {
                     Text          = item.CO_GTGT.ToString("##,###"),
                     TextAlignment = TextAlignment.MiddleCenter,
                     Font          = new Font(Font.FontFamily, 6, FontStyle.Regular)
                 });
                 xtVAT.Rows.Add(row);
                 TONGCHUAVAT += item.CHUACO_GTGT;
                 TONGCOVAT   += item.CO_GTGT;
             }
             XRTableRow rowData = new XRTableRow();
             rowData.Cells.Add(new XRTableCell()
             {
                 Text          = "Tổng : ",
                 TextAlignment = TextAlignment.MiddleCenter,
                 Font          = new Font(Font.FontFamily, 6, FontStyle.Regular)
             });
             rowData.Cells.Add(new XRTableCell()
             {
                 Text          = TONGCHUAVAT.ToString("##,###"),
                 TextAlignment = TextAlignment.MiddleCenter,
                 Font          = new Font(Font.FontFamily, 6, FontStyle.Regular)
             });
             rowData.Cells.Add(new XRTableCell()
             {
                 Text          = TONGCOVAT.ToString("##,###"),
                 TextAlignment = TextAlignment.MiddleCenter,
                 Font          = new Font(Font.FontFamily, 6, FontStyle.Regular)
             });
             xtTong.Rows.Add(rowData);
         }
     }
     objectDataSource1.DataSource = _NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL.LST_DETAILS;
 }
示例#6
0
        private List <NVGDQUAY_ASYNCCLIENT_DTO> GetDataFromOracle()
        {
            List <NVGDQUAY_ASYNCCLIENT_DTO> lstGD = new List <NVGDQUAY_ASYNCCLIENT_DTO>();
            DateTime fromDate = dateTimeTuNgay.Value;
            DateTime toDate   = dateTimeDenNgay.Value;

            using (OracleConnection connection = new OracleConnection(ConfigurationManager.ConnectionStrings["TBNETERP_SERVER"].ConnectionString))
            {
                connection.Open();
                if (connection.State == ConnectionState.Open)
                {
                    int           hd  = 0;
                    int           mh  = 0;
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection  = connection;
                    cmd.CommandText = @"SELECT * FROM NVGDQUAY_ASYNCCLIENT WHERE (NGAYTAO BETWEEN :fromDate  AND :toDate)";
                    cmd.CommandType = CommandType.Text;
                    cmd.Parameters.Add("fromDate", OracleDbType.Date).Value = fromDate;
                    cmd.Parameters.Add("toDate", OracleDbType.Date).Value   = toDate;
                    OracleDataReader dataReader = cmd.ExecuteReader();
                    if (dataReader.HasRows)
                    {
                        DateTime ngayTao, ngayPhatSinh = DateTime.Now;
                        int      loaiGD = 0;
                        decimal  tienKhachDua,
                                 tienVoucher,
                                 tienTheVip,
                                 tienTraLai,
                                 tienThe,
                                 tienCOD,
                                 tienMat,
                                 ttienCoVAT = 0;
                        while (dataReader.Read())
                        {
                            hd++;
                            NVGDQUAY_ASYNCCLIENT_DTO gdTemp = new NVGDQUAY_ASYNCCLIENT_DTO();
                            gdTemp.ID               = dataReader["ID"].ToString();
                            gdTemp.MAGIAODICH       = dataReader["MAGIAODICH"].ToString();
                            gdTemp.MAGIAODICHQUAYPK = dataReader["MAGIAODICHQUAYPK"].ToString();
                            gdTemp.MADONVI          = dataReader["MADONVI"].ToString();
                            DateTime.TryParse(dataReader["NGAYTAO"].ToString(), out ngayTao);
                            gdTemp.NGAYTAO = ngayTao;
                            DateTime.TryParse(dataReader["NGAYPHATSINH"].ToString(), out ngayPhatSinh);
                            gdTemp.NGAYPHATSINH = ngayPhatSinh;
                            gdTemp.MANGUOITAO   = dataReader["MANGUOITAO"].ToString();
                            gdTemp.NGUOITAO     = dataReader["NGUOITAO"].ToString();
                            gdTemp.MAQUAYBAN    = dataReader["MAQUAYBAN"].ToString();
                            int.TryParse(dataReader["LOAIGIAODICH"].ToString(), out loaiGD);
                            gdTemp.LOAIGIAODICH      = loaiGD;
                            gdTemp.HINHTHUCTHANHTOAN = dataReader["HINHTHUCTHANHTOAN"].ToString();
                            decimal.TryParse(dataReader["TIENKHACHDUA"].ToString(), out tienKhachDua);
                            gdTemp.TIENKHACHDUA = tienKhachDua;
                            decimal.TryParse(dataReader["TIENVOUCHER"].ToString(), out tienVoucher);
                            gdTemp.TIENVOUCHER = tienVoucher;
                            decimal.TryParse(dataReader["TIENTHEVIP"].ToString(), out tienTheVip);
                            gdTemp.TIENTHEVIP = tienTheVip;
                            decimal.TryParse(dataReader["TIENTRALAI"].ToString(), out tienTraLai);
                            gdTemp.TIENTRALAI = tienTraLai;
                            decimal.TryParse(dataReader["TIENTHE"].ToString(), out tienThe);
                            gdTemp.TIENTHE = tienThe;
                            decimal.TryParse(dataReader["TIENCOD"].ToString(), out tienCOD);
                            gdTemp.TIENCOD = tienCOD;
                            decimal.TryParse(dataReader["TIENMAT"].ToString(), out tienMat);
                            gdTemp.TIENMAT = tienMat;
                            decimal.TryParse(dataReader["TTIENCOVAT"].ToString(), out ttienCoVAT);
                            gdTemp.TTIENCOVAT  = ttienCoVAT;
                            gdTemp.THOIGIAN    = dataReader["THOIGIAN"].ToString();
                            gdTemp.MAKHACHHANG = dataReader["MAKHACHHANG"].ToString();
                            gdTemp.UNITCODE    = dataReader["UNITCODE"].ToString();
                            OracleCommand command = new OracleCommand();
                            command.Connection  = connection;
                            command.CommandText = @"SELECT * FROM NVHANGGDQUAY_ASYNCCLIENT WHERE MAGDQUAYPK = :maGDPK";
                            command.CommandType = CommandType.Text;
                            command.Parameters.Add("maGDPK", OracleDbType.NVarchar2, 50).Value = gdTemp.MAGIAODICHQUAYPK;
                            OracleDataReader reader = command.ExecuteReader();
                            if (reader.HasRows)
                            {
                                decimal giaBanLeCoVat,
                                        tyLeCK,
                                        tienCK,
                                        tyLeKM,
                                        tienKM,
                                        tyLeVoucher,
                                        tyLeLai,
                                        giaVon, vatBan = 0;
                                decimal soLuong, tongSoLuong = 0;
                                while (reader.Read())
                                {
                                    mh++;
                                    NVHANGGDQUAY_ASYNCCLIENT gd = new NVHANGGDQUAY_ASYNCCLIENT();
                                    gd.ID         = reader["ID"].ToString();
                                    gd.MAGDQUAYPK = reader["MAGDQUAYPK"].ToString();
                                    gd.MAKHOHANG  = reader["MAKHOHANG"].ToString();
                                    gd.MADONVI    = reader["MADONVI"].ToString();
                                    gd.MAVATTU    = reader["MAVATTU"].ToString();
                                    gd.NGUOITAO   = reader["NGUOITAO"].ToString();
                                    gd.MABOPK     = reader["MABOPK"].ToString();
                                    DateTime.TryParse(reader["NGAYTAO"].ToString(), out ngayTao);
                                    gd.NGAYTAO = ngayTao;
                                    DateTime.TryParse(reader["NGAYPHATSINH"].ToString(), out ngayPhatSinh);
                                    gd.NGAYPHATSINH = ngayPhatSinh;
                                    decimal.TryParse(reader["SOLUONG"].ToString(), out soLuong);
                                    gd.SOLUONG = soLuong;
                                    decimal.TryParse(reader["TTIENCOVAT"].ToString(), out ttienCoVAT);
                                    gd.TTIENCOVAT = ttienCoVAT;
                                    decimal.TryParse(reader["GIABANLECOVAT"].ToString(), out giaBanLeCoVat);
                                    gd.GIABANLECOVAT = giaBanLeCoVat;
                                    decimal.TryParse(reader["TYLECHIETKHAU"].ToString(), out tyLeCK);
                                    gd.TYLECHIETKHAU = tyLeCK;
                                    decimal.TryParse(reader["TIENCHIETKHAU"].ToString(), out tienCK);
                                    gd.TIENCHIETKHAU = tienCK;
                                    decimal.TryParse(reader["TYLEKHUYENMAI"].ToString(), out tyLeKM);
                                    gd.TYLEKHUYENMAI = tyLeKM;
                                    decimal.TryParse(reader["TIENKHUYENMAI"].ToString(), out tienKM);
                                    gd.TIENKHUYENMAI = tienKM;
                                    decimal.TryParse(reader["TYLEVOUCHER"].ToString(), out tyLeVoucher);
                                    gd.TYLEVOUCHER = tyLeVoucher;
                                    decimal.TryParse(reader["TIENVOUCHER"].ToString(), out tienVoucher);
                                    gd.TIENVOUCHER = tienVoucher;
                                    decimal.TryParse(reader["TYLELAILE"].ToString(), out tyLeLai);
                                    gd.TYLELAILE = tyLeLai;
                                    decimal.TryParse(reader["GIAVON"].ToString(), out giaVon);
                                    gd.GIAVON = giaVon;
                                    gd.MAVAT  = reader["MAVAT"].ToString();
                                    decimal.TryParse(reader["VATBAN"].ToString(), out vatBan);
                                    gd.VATBAN          = vatBan;
                                    gd.MACHUONGTRINHKM = reader["MACHUONGTRINHKM"].ToString();
                                    tongSoLuong       += gd.SOLUONG;
                                    gdTemp.LST_DETAILS.Add(gd);
                                }
                                gdTemp.TONGSOLUONG = tongSoLuong;
                            }
                            lstGD.Add(gdTemp);
                        }
                    }
                    lblHoaDonSV.Text  = hd.ToString();
                    lblMatHangSV.Text = mh.ToString();
                }
                connection.Close();
            }
            return(lstGD);
        }
        /// <summary>
        /// Lưu dữ liệu bán lẻ
        /// </summary>
        /// <param name="header"></param>
        /// <param name="details"></param>
        /// <returns></returns>
        private int SAVE_DATA_TO_ORACLE(NVGDQUAY_ASYNCCLIENT_DTO _NVGDQUAY_ASYNCCLIENT_DTO)
        {
            int countCheckInsertSuccess = 0;

            if (_NVGDQUAY_ASYNCCLIENT_DTO != null)
            {
                using (OracleConnection connection = new OracleConnection(ConfigurationManager.ConnectionStrings["TBNETERP_SERVER"].ConnectionString))
                {
                    try
                    {
                        connection.Open();
                        if (connection.State == ConnectionState.Open)
                        {
                            try
                            {
                                string        queryInsert = "";
                                OracleCommand cmd         = new OracleCommand();
                                cmd.Connection = connection;
                                queryInsert    =
                                    string.Format(
                                        @"INSERT INTO NVGDQUAY_ASYNCCLIENT (ID,MAGIAODICH,MAGIAODICHQUAYPK,MADONVI,LOAIGIAODICH,NGAYTAO,MANGUOITAO,
                                    NGUOITAO,MAQUAYBAN,NGAYPHATSINH,HINHTHUCTHANHTOAN,MAVOUCHER,TIENKHACHDUA,TIENVOUCHER,TIENTHEVIP,TIENTRALAI,TIENTHE,TIENCOD,TIENMAT,TTIENCOVAT,
                                    THOIGIAN,MAKHACHHANG,I_CREATE_DATE,I_CREATE_BY,I_STATE,UNITCODE) VALUES (
                                    :ID,:MAGIAODICH,:MAGIAODICHQUAYPK,:MADONVI,:LOAIGIAODICH,:NGAYTAO,:MANGUOITAO,
                                    :NGUOITAO,:MAQUAYBAN,:NGAYPHATSINH,:HINHTHUCTHANHTOAN,:MAVOUCHER,:TIENKHACHDUA,:TIENVOUCHER,:TIENTHEVIP,:TIENTRALAI,:TIENTHE,:TIENCOD,:TIENMAT,:TTIENCOVAT,
                                    :THOIGIAN,:MAKHACHHANG,:I_CREATE_DATE,:I_CREATE_BY,:I_STATE,:UNITCODE)");
                                cmd.CommandText = queryInsert;
                                cmd.CommandType = CommandType.Text;
                                cmd.Parameters.Add("ID", OracleDbType.NVarchar2, 50).Value               = _NVGDQUAY_ASYNCCLIENT_DTO.ID;
                                cmd.Parameters.Add("MAGIAODICH", OracleDbType.NVarchar2, 50).Value       = _NVGDQUAY_ASYNCCLIENT_DTO.MAGIAODICH;
                                cmd.Parameters.Add("MAGIAODICHQUAYPK", OracleDbType.NVarchar2, 50).Value = _NVGDQUAY_ASYNCCLIENT_DTO.MAGIAODICHQUAYPK;
                                cmd.Parameters.Add("MADONVI", OracleDbType.NVarchar2, 50).Value          = _NVGDQUAY_ASYNCCLIENT_DTO.MADONVI;
                                cmd.Parameters.Add("LOAIGIAODICH", OracleDbType.Int32).Value             = _NVGDQUAY_ASYNCCLIENT_DTO.LOAIGIAODICH;
                                cmd.Parameters.Add("NGAYTAO", OracleDbType.Date).Value = _NVGDQUAY_ASYNCCLIENT_DTO.NGAYTAO;
                                cmd.Parameters.Add("MANGUOITAO", OracleDbType.NVarchar2, 300).Value        = _NVGDQUAY_ASYNCCLIENT_DTO.MANGUOITAO;
                                cmd.Parameters.Add("NGUOITAO", OracleDbType.NVarchar2, 300).Value          = _NVGDQUAY_ASYNCCLIENT_DTO.NGUOITAO;
                                cmd.Parameters.Add("MAQUAYBAN", OracleDbType.NVarchar2, 300).Value         = _NVGDQUAY_ASYNCCLIENT_DTO.MAQUAYBAN;
                                cmd.Parameters.Add("NGAYPHATSINH", OracleDbType.Date).Value                = _NVGDQUAY_ASYNCCLIENT_DTO.NGAYPHATSINH;
                                cmd.Parameters.Add("HINHTHUCTHANHTOAN", OracleDbType.NVarchar2, 200).Value = _NVGDQUAY_ASYNCCLIENT_DTO.HINHTHUCTHANHTOAN;
                                cmd.Parameters.Add("MAVOUCHER", OracleDbType.NVarchar2, 50).Value          = _NVGDQUAY_ASYNCCLIENT_DTO.MAVOUCHER;
                                cmd.Parameters.Add("TIENKHACHDUA", OracleDbType.Decimal).Value             = _NVGDQUAY_ASYNCCLIENT_DTO.TIENKHACHDUA;
                                cmd.Parameters.Add("TIENVOUCHER", OracleDbType.Decimal).Value              = _NVGDQUAY_ASYNCCLIENT_DTO.TIENVOUCHER;
                                cmd.Parameters.Add("TIENTHEVIP", OracleDbType.Decimal).Value               = _NVGDQUAY_ASYNCCLIENT_DTO.TIENTHEVIP;
                                cmd.Parameters.Add("TIENTRALAI", OracleDbType.Decimal).Value               = _NVGDQUAY_ASYNCCLIENT_DTO.TIENTRALAI;
                                cmd.Parameters.Add("TIENTHE ", OracleDbType.Decimal).Value          = _NVGDQUAY_ASYNCCLIENT_DTO.TIENTHE >= _NVGDQUAY_ASYNCCLIENT_DTO.TTIENCOVAT ? _NVGDQUAY_ASYNCCLIENT_DTO.TTIENCOVAT : _NVGDQUAY_ASYNCCLIENT_DTO.TIENTHE;
                                cmd.Parameters.Add("TIENCOD", OracleDbType.Decimal).Value           = _NVGDQUAY_ASYNCCLIENT_DTO.TIENCOD;
                                cmd.Parameters.Add("TIENMAT", OracleDbType.Decimal).Value           = _NVGDQUAY_ASYNCCLIENT_DTO.TIENMAT >= _NVGDQUAY_ASYNCCLIENT_DTO.TTIENCOVAT ? _NVGDQUAY_ASYNCCLIENT_DTO.TTIENCOVAT : _NVGDQUAY_ASYNCCLIENT_DTO.TIENMAT;
                                cmd.Parameters.Add("TTIENCOVAT", OracleDbType.Decimal).Value        = _NVGDQUAY_ASYNCCLIENT_DTO.TTIENCOVAT;
                                cmd.Parameters.Add("THOIGIAN", OracleDbType.NVarchar2, 150).Value   = _NVGDQUAY_ASYNCCLIENT_DTO.THOIGIAN;
                                cmd.Parameters.Add("MAKHACHHANG", OracleDbType.NVarchar2, 50).Value = _NVGDQUAY_ASYNCCLIENT_DTO.MAKHACHHANG;
                                cmd.Parameters.Add("I_CREATE_DATE", OracleDbType.Date).Value        = _NVGDQUAY_ASYNCCLIENT_DTO.I_CREATE_DATE;
                                cmd.Parameters.Add("I_CREATE_BY", OracleDbType.NVarchar2, 50).Value = _NVGDQUAY_ASYNCCLIENT_DTO.I_CREATE_BY;
                                cmd.Parameters.Add("I_STATE", OracleDbType.NVarchar2, 50).Value     = _NVGDQUAY_ASYNCCLIENT_DTO.I_STATE;
                                cmd.Parameters.Add("UNITCODE", OracleDbType.NVarchar2, 50).Value    = _NVGDQUAY_ASYNCCLIENT_DTO.UNITCODE;
                                if (cmd.ExecuteNonQuery() > 0)
                                {
                                    countCheckInsertSuccess++;
                                    INSERT_DATA_HANG_GIAODICHQUAY(_NVGDQUAY_ASYNCCLIENT_DTO, ref countCheckInsertSuccess);
                                }
                                //chạy store tăng xuất nhập tồn
                                if (!string.IsNullOrEmpty(Session.Session.CurrentTableNamePeriod))
                                {
                                    OracleCommand cmdTruTon = new OracleCommand();
                                    cmdTruTon.Connection  = connection;
                                    cmdTruTon.CommandText = @"TBNETERP.XNT.XNT_TANG_PHIEU";
                                    cmdTruTon.CommandType = CommandType.StoredProcedure;
                                    cmdTruTon.Parameters.Add("P_TABLENAME", OracleDbType.Varchar2, 50).Value = Session.Session.CurrentTableNamePeriod;
                                    cmdTruTon.Parameters.Add("P_NAM", OracleDbType.Varchar2, 50).Value       = Session.Session.CurrentYear;
                                    cmdTruTon.Parameters.Add("P_KY", OracleDbType.Decimal).Value             = decimal.Parse(Session.Session.CurrentPeriod);
                                    cmdTruTon.Parameters.Add("P_ID", OracleDbType.Varchar2, 50).Value        = _NVGDQUAY_ASYNCCLIENT_DTO.ID;
                                    cmdTruTon.ExecuteNonQuery();
                                }
                            }
                            catch (Exception ex)
                            {
                                WriteLogs.LogError(ex);
                            }
                            finally
                            {
                                SAVE_DATA_TO_SQL_HAVE_INTERNET(_NVGDQUAY_ASYNCCLIENT_DTO);
                                connection.Close();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        WriteLogs.LogError(ex);
                    }
                }
            }
            return(countCheckInsertSuccess);
        }
 private void INSERT_DATA_HANG_GIAODICHQUAY_SQL(NVGDQUAY_ASYNCCLIENT_DTO _NVGDQUAY_ASYNCCLIENT_DTO, ref int countCheckInsertSuccess)
 {
     if (_NVGDQUAY_ASYNCCLIENT_DTO.LST_DETAILS.Count > 0)
     {
         using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["TBNETERP_CLIENT"].ConnectionString))
         {
             connection.Open();
             if (connection.State == ConnectionState.Open)
             {
                 try
                 {
                     foreach (NVHANGGDQUAY_ASYNCCLIENT ITEM in _NVGDQUAY_ASYNCCLIENT_DTO.LST_DETAILS)
                     {
                         SqlCommand command = new SqlCommand();
                         command.Connection = connection;
                         string queryInsertItem = string.Format(@"INSERT INTO [dbo].[NVHANGGDQUAY_ASYNCCLIENT]([ID],[MAGDQUAYPK],[MAKHOHANG],[MADONVI],[MAVATTU],[MANGUOITAO],[NGUOITAO],[MABOPK],[NGAYTAO],[NGAYPHATSINH],[SOLUONG],[TTIENCOVAT],[GIABANLECOVAT],[TYLECHIETKHAU],[TIENCHIETKHAU],[TYLEKHUYENMAI],[TIENKHUYENMAI],[TYLEVOUCHER],[TIENVOUCHER],[TYLELAILE],[GIAVON],[MAVAT],[VATBAN],[MACHUONGTRINHKM],[UNITCODE]) 
                             VALUES (@ID,@MAGDQUAYPK,@MAKHOHANG,@MADONVI,@MAVATTU,@MANGUOITAO,@NGUOITAO,@MABOPK,@NGAYTAO,@NGAYPHATSINH,@SOLUONG,@TTIENCOVAT,@GIABANLECOVAT,@TYLECHIETKHAU,@TIENCHIETKHAU,@TYLEKHUYENMAI,@TIENKHUYENMAI,@TYLEVOUCHER,@TIENVOUCHER,@TYLELAILE,@GIAVON,@MAVAT,@VATBAN,@MACHUONGTRINHKM,@UNITCODE)");
                         command.CommandText = queryInsertItem;
                         command.CommandType = CommandType.Text;
                         command.Parameters.Add("ID", SqlDbType.NVarChar, 50).Value              = ITEM.ID;
                         command.Parameters.Add("MAGDQUAYPK", SqlDbType.NVarChar, 50).Value      = ITEM.MAGDQUAYPK;
                         command.Parameters.Add("MAKHOHANG", SqlDbType.NVarChar, 50).Value       = ITEM.MAKHOHANG;
                         command.Parameters.Add("MADONVI", SqlDbType.NVarChar, 50).Value         = ITEM.MADONVI;
                         command.Parameters.Add("MAVATTU", SqlDbType.NVarChar, 50).Value         = ITEM.MAVATTU;
                         command.Parameters.Add("MANGUOITAO", SqlDbType.NVarChar, 50).Value      = Session.Session.CurrentMaNhanVien;
                         command.Parameters.Add("NGUOITAO", SqlDbType.NVarChar, 50).Value        = ITEM.NGUOITAO;
                         command.Parameters.Add("MABOPK", SqlDbType.NVarChar, 50).Value          = ITEM.MABOPK;
                         command.Parameters.Add("NGAYTAO", SqlDbType.Date).Value                 = ITEM.NGAYTAO;
                         command.Parameters.Add("NGAYPHATSINH", SqlDbType.Date).Value            = ITEM.NGAYPHATSINH;
                         command.Parameters.Add("SOLUONG", SqlDbType.Decimal).Value              = ITEM.SOLUONG;
                         command.Parameters.Add("TTIENCOVAT", SqlDbType.Decimal).Value           = ITEM.TTIENCOVAT;
                         command.Parameters.Add("GIABANLECOVAT", SqlDbType.Decimal).Value        = ITEM.GIABANLECOVAT;
                         command.Parameters.Add("TIENCHIETKHAU", SqlDbType.Decimal).Value        = ITEM.TIENCHIETKHAU;
                         command.Parameters.Add("TYLECHIETKHAU", SqlDbType.Decimal).Value        = ITEM.TYLECHIETKHAU;
                         command.Parameters.Add("TYLEKHUYENMAI", SqlDbType.Decimal).Value        = ITEM.TYLEKHUYENMAI;
                         command.Parameters.Add("TIENKHUYENMAI", SqlDbType.Decimal).Value        = ITEM.TIENKHUYENMAI;
                         command.Parameters.Add("TYLEVOUCHER", SqlDbType.Decimal).Value          = ITEM.TYLEVOUCHER;
                         command.Parameters.Add("TIENVOUCHER", SqlDbType.Decimal).Value          = ITEM.TIENVOUCHER;
                         command.Parameters.Add("TYLELAILE", SqlDbType.Decimal).Value            = ITEM.TYLELAILE;
                         command.Parameters.Add("GIAVON", SqlDbType.Decimal).Value               = ITEM.GIAVON;
                         command.Parameters.Add("MAVAT", SqlDbType.NVarChar, 50).Value           = ITEM.MAVAT;
                         command.Parameters.Add("VATBAN", SqlDbType.Decimal).Value               = ITEM.VATBAN;
                         command.Parameters.Add("MACHUONGTRINHKM", SqlDbType.NVarChar, 50).Value = ITEM.MACHUONGTRINHKM;
                         command.Parameters.Add("UNITCODE", SqlDbType.NVarChar, 50).Value        = ITEM.UNITCODE != null ? ITEM.UNITCODE : Session.Session.CurrentUnitCode;
                         try
                         {
                             if (command.ExecuteNonQuery() > 0)
                             {
                                 countCheckInsertSuccess++;
                             }
                         }
                         catch (Exception e)
                         {
                             WriteLogs.LogError(e);
                         }
                     }
                 }
                 catch (Exception ex)
                 {
                     WriteLogs.LogError(ex);
                 }
                 finally
                 {
                     connection.Close();
                     connection.Dispose();
                 }
             }
             else
             {
                 NotificationLauncher.ShowNotificationError("Thông báo", "Không có kế nối với cơ sở dữ liệu", 1, "0x1", "0x8", "normal");
             }
         }
     }
 }
 private void INSERT_DATA_HANG_GIAODICHQUAY(NVGDQUAY_ASYNCCLIENT_DTO _NVGDQUAY_ASYNCCLIENT_DTO, ref int countCheckInsertSuccess)
 {
     if (_NVGDQUAY_ASYNCCLIENT_DTO.LST_DETAILS.Count > 0)
     {
         using (OracleConnection connection = new OracleConnection(ConfigurationManager.ConnectionStrings["TBNETERP_SERVER"].ConnectionString))
         {
             connection.Open();
             if (connection.State == ConnectionState.Open)
             {
                 try
                 {
                     foreach (NVHANGGDQUAY_ASYNCCLIENT ITEM in _NVGDQUAY_ASYNCCLIENT_DTO.LST_DETAILS)
                     {
                         OracleCommand command = new OracleCommand();
                         command.Connection = connection;
                         string queryInsertItem = string.Format(@"INSERT INTO NVHANGGDQUAY_ASYNCCLIENT (ID,MAGDQUAYPK,MAKHOHANG,MADONVI,MAVATTU,BARCODE,TENDAYDU,NGUOITAO,MABOPK,NGAYTAO,NGAYPHATSINH,
                             SOLUONG,TTIENCOVAT,VATBAN,GIABANLECOVAT,MAKHACHHANG,MAKEHANG,MACHUONGTRINHKM,LOAIKHUYENMAI,TIENCHIETKHAU,TYLECHIETKHAU,TYLEKHUYENMAI,TIENKHUYENMAI,TYLEVOUCHER,
                             TIENVOUCHER,TYLELAILE,GIAVON,ISBANAM,MAVAT) VALUES (:ID,:MAGDQUAYPK,:MAKHOHANG,:MADONVI,:MAVATTU,:BARCODE,:TENDAYDU,:NGUOITAO,:MABOPK,:NGAYTAO,:NGAYPHATSINH,
                             :SOLUONG,:TTIENCOVAT,:VATBAN,:GIABANLECOVAT,:MAKHACHHANG,:MAKEHANG,:MACHUONGTRINHKM,:LOAIKHUYENMAI,:TIENCHIETKHAU,:TYLECHIETKHAU,:TYLEKHUYENMAI,:TIENKHUYENMAI,:TYLEVOUCHER,
                             :TIENVOUCHER,:TYLELAILE,:GIAVON,:ISBANAM,:MAVAT)");
                         command.CommandText = queryInsertItem;
                         command.CommandType = CommandType.Text;
                         command.Parameters.Add("ID", OracleDbType.NVarchar2, 50).Value              = ITEM.ID;
                         command.Parameters.Add("MAGDQUAYPK", OracleDbType.NVarchar2, 50).Value      = ITEM.MAGDQUAYPK;
                         command.Parameters.Add("MAKHOHANG", OracleDbType.NVarchar2, 50).Value       = ITEM.MAKHOHANG;
                         command.Parameters.Add("MADONVI", OracleDbType.NVarchar2, 50).Value         = ITEM.MADONVI;
                         command.Parameters.Add("MAVATTU", OracleDbType.NVarchar2, 50).Value         = ITEM.MAVATTU;
                         command.Parameters.Add("BARCODE", OracleDbType.NVarchar2, 2000).Value       = ITEM.BARCODE;
                         command.Parameters.Add("TENDAYDU", OracleDbType.NVarchar2, 300).Value       = ITEM.TENDAYDU;
                         command.Parameters.Add("NGUOITAO", OracleDbType.NVarchar2, 300).Value       = ITEM.NGUOITAO;
                         command.Parameters.Add("MABOPK", OracleDbType.NVarchar2, 50).Value          = ITEM.MABOPK;
                         command.Parameters.Add("NGAYTAO", OracleDbType.Date).Value                  = ITEM.NGAYTAO;
                         command.Parameters.Add("NGAYPHATSINH", OracleDbType.Date).Value             = ITEM.NGAYPHATSINH;
                         command.Parameters.Add("SOLUONG", OracleDbType.Int32).Value                 = ITEM.SOLUONG;
                         command.Parameters.Add("TTIENCOVAT", OracleDbType.Decimal).Value            = ITEM.TTIENCOVAT;
                         command.Parameters.Add("VATBAN", OracleDbType.Decimal).Value                = ITEM.VATBAN;
                         command.Parameters.Add("GIABANLECOVAT", OracleDbType.Decimal).Value         = ITEM.GIABANLECOVAT;
                         command.Parameters.Add("MAKHACHHANG", OracleDbType.NVarchar2, 50).Value     = ITEM.MAKHACHHANG;
                         command.Parameters.Add("MAKEHANG", OracleDbType.NVarchar2, 50).Value        = ITEM.MAKEHANG;
                         command.Parameters.Add("MACHUONGTRINHKM", OracleDbType.NVarchar2, 50).Value = ITEM.MACHUONGTRINHKM;
                         command.Parameters.Add("LOAIKHUYENMAI", OracleDbType.NVarchar2, 50).Value   = ITEM.LOAIKHUYENMAI;
                         command.Parameters.Add("TIENCHIETKHAU", OracleDbType.Decimal).Value         = ITEM.TIENCHIETKHAU;
                         command.Parameters.Add("TYLECHIETKHAU", OracleDbType.Decimal).Value         = ITEM.TYLECHIETKHAU;
                         command.Parameters.Add("TYLEKHUYENMAI", OracleDbType.Decimal).Value         = ITEM.TYLEKHUYENMAI;
                         command.Parameters.Add("TIENKHUYENMAI", OracleDbType.Decimal).Value         = ITEM.TIENKHUYENMAI;
                         command.Parameters.Add("TYLEVOUCHER", OracleDbType.Decimal).Value           = ITEM.TYLEVOUCHER;
                         command.Parameters.Add("TIENVOUCHER", OracleDbType.Decimal).Value           = ITEM.TIENVOUCHER;
                         command.Parameters.Add("TYLELAILE", OracleDbType.Decimal).Value             = ITEM.TYLELAILE;
                         command.Parameters.Add("GIAVON", OracleDbType.Decimal).Value                = ITEM.GIAVON;
                         command.Parameters.Add("ISBANAM", OracleDbType.Decimal).Value               = ITEM.ISBANAM;
                         command.Parameters.Add("MAVAT", OracleDbType.NVarchar2, 50).Value           = ITEM.MAVAT;
                         try
                         {
                             if (command.ExecuteNonQuery() > 0)
                             {
                                 countCheckInsertSuccess++;
                             }
                         }
                         catch (Exception e)
                         {
                             WriteLogs.LogError(e);
                         }
                     }
                 }
                 catch (Exception ex)
                 {
                     WriteLogs.LogError(ex);
                 }
                 finally
                 {
                     connection.Close();
                     connection.Dispose();
                 }
             }
             else
             {
                 NotificationLauncher.ShowNotificationError("THÔNG BÁO", "KHÔNG CÓ KẾT NỐI VỚI CƠ SỞ DỮ LIỆU ORACLE", 1, "0x1", "0x8", "normal");
             }
         }
     }
 }
示例#10
0
 private void btnThanhToan_Exit_Click(object sender, EventArgs e)
 {
     _NVGDQUAY_ASYNCCLIENT_DTO_GLOBAL  = new NVGDQUAY_ASYNCCLIENT_DTO();
     _NVGDQUAY_ASYNCCLIENT_BILL_GLOBAL = new NVGDQUAY_ASYNCCLIENT_DTO();
     this.Close();
 }
示例#11
0
        private int SAVE_DATA_TO_SQL(NVGDQUAY_ASYNCCLIENT_DTO _NVGDQUAY_ASYNCCLIENT_DTO)
        {
            int countCheckInsertSuccess = 0;

            if (_NVGDQUAY_ASYNCCLIENT_DTO != null)
            {
                using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["TBNETERP_CLIENT"].ConnectionString))
                {
                    try
                    {
                        connection.Open();
                        if (connection.State == ConnectionState.Open)
                        {
                            try
                            {
                                string     queryInsert = "";
                                SqlCommand cmd         = new SqlCommand();
                                cmd.Connection  = connection;
                                queryInsert     = string.Format(@"INSERT INTO [dbo].[NVGDQUAY_ASYNCCLIENT]([ID],[MAGIAODICH],[MAGIAODICHQUAYPK],[MADONVI],[NGAYTAO],[NGAYPHATSINH],[MANGUOITAO],[NGUOITAO],[MAQUAYBAN],[LOAIGIAODICH],
                                    [HINHTHUCTHANHTOAN],[TIENKHACHDUA],[TIENVOUCHER],[TIENTHEVIP],[TIENTRALAI],[TIENTHE],[TIENCOD],[TIENMAT],[TTIENCOVAT],[THOIGIAN],[MAKHACHHANG],[UNITCODE]) VALUES (
                                    @ID,@MAGIAODICH,@MAGIAODICHQUAYPK,@MADONVI,@NGAYTAO,@NGAYPHATSINH,@MANGUOITAO,@NGUOITAO,@MAQUAYBAN,@LOAIGIAODICH,@HINHTHUCTHANHTOAN,@TIENKHACHDUA,@TIENVOUCHER,@TIENTHEVIP,@TIENTRALAI,@TIENTHE,@TIENCOD,@TIENMAT,@TTIENCOVAT,@THOIGIAN,@MAKHACHHANG,@UNITCODE)");
                                cmd.CommandText = queryInsert;
                                cmd.CommandType = CommandType.Text;
                                cmd.Parameters.Add("ID", SqlDbType.NVarChar, 50).Value               = _NVGDQUAY_ASYNCCLIENT_DTO.ID;
                                cmd.Parameters.Add("MAGIAODICH", SqlDbType.NVarChar, 50).Value       = _NVGDQUAY_ASYNCCLIENT_DTO.MAGIAODICH;
                                cmd.Parameters.Add("MAGIAODICHQUAYPK", SqlDbType.NVarChar, 50).Value = _NVGDQUAY_ASYNCCLIENT_DTO.MAGIAODICHQUAYPK;
                                cmd.Parameters.Add("MADONVI", SqlDbType.NVarChar, 50).Value          = _NVGDQUAY_ASYNCCLIENT_DTO.MADONVI;
                                cmd.Parameters.Add("NGAYTAO", SqlDbType.Date).Value                   = _NVGDQUAY_ASYNCCLIENT_DTO.NGAYTAO;
                                cmd.Parameters.Add("NGAYPHATSINH", SqlDbType.Date).Value              = _NVGDQUAY_ASYNCCLIENT_DTO.NGAYPHATSINH;
                                cmd.Parameters.Add("MANGUOITAO", SqlDbType.NVarChar, 50).Value        = _NVGDQUAY_ASYNCCLIENT_DTO.MANGUOITAO;
                                cmd.Parameters.Add("NGUOITAO", SqlDbType.NVarChar, 50).Value          = _NVGDQUAY_ASYNCCLIENT_DTO.NGUOITAO;
                                cmd.Parameters.Add("MAQUAYBAN", SqlDbType.NVarChar, 50).Value         = _NVGDQUAY_ASYNCCLIENT_DTO.MAQUAYBAN;
                                cmd.Parameters.Add("LOAIGIAODICH", SqlDbType.Int).Value               = _NVGDQUAY_ASYNCCLIENT_DTO.LOAIGIAODICH;
                                cmd.Parameters.Add("HINHTHUCTHANHTOAN", SqlDbType.NVarChar, 50).Value = _NVGDQUAY_ASYNCCLIENT_DTO.HINHTHUCTHANHTOAN;
                                cmd.Parameters.Add("MAVOUCHER", SqlDbType.NVarChar, 50).Value         = _NVGDQUAY_ASYNCCLIENT_DTO.MAVOUCHER;
                                cmd.Parameters.Add("TIENKHACHDUA", SqlDbType.Decimal).Value           = _NVGDQUAY_ASYNCCLIENT_DTO.TIENKHACHDUA;
                                cmd.Parameters.Add("TIENVOUCHER", SqlDbType.Decimal).Value            = _NVGDQUAY_ASYNCCLIENT_DTO.TIENVOUCHER;
                                cmd.Parameters.Add("TIENTHEVIP", SqlDbType.Decimal).Value             = _NVGDQUAY_ASYNCCLIENT_DTO.TIENTHEVIP;
                                cmd.Parameters.Add("TIENTRALAI", SqlDbType.Decimal).Value             = _NVGDQUAY_ASYNCCLIENT_DTO.TIENTRALAI;
                                cmd.Parameters.Add("TIENTHE ", SqlDbType.Decimal).Value               = _NVGDQUAY_ASYNCCLIENT_DTO.TIENTHE >= _NVGDQUAY_ASYNCCLIENT_DTO.TTIENCOVAT ? _NVGDQUAY_ASYNCCLIENT_DTO.TTIENCOVAT : _NVGDQUAY_ASYNCCLIENT_DTO.TIENTHE;
                                cmd.Parameters.Add("TIENCOD", SqlDbType.Decimal).Value                = _NVGDQUAY_ASYNCCLIENT_DTO.TIENCOD;
                                cmd.Parameters.Add("TIENMAT", SqlDbType.Decimal).Value                = _NVGDQUAY_ASYNCCLIENT_DTO.TIENMAT >= _NVGDQUAY_ASYNCCLIENT_DTO.TTIENCOVAT ? _NVGDQUAY_ASYNCCLIENT_DTO.TTIENCOVAT : _NVGDQUAY_ASYNCCLIENT_DTO.TIENMAT;
                                cmd.Parameters.Add("TTIENCOVAT", SqlDbType.Decimal).Value             = _NVGDQUAY_ASYNCCLIENT_DTO.TTIENCOVAT;
                                cmd.Parameters.Add("THOIGIAN", SqlDbType.NVarChar, 50).Value          = _NVGDQUAY_ASYNCCLIENT_DTO.THOIGIAN;
                                cmd.Parameters.Add("MAKHACHHANG", SqlDbType.NVarChar, 50).Value       = _NVGDQUAY_ASYNCCLIENT_DTO.MAKHACHHANG;
                                cmd.Parameters.Add("UNITCODE", SqlDbType.NVarChar, 50).Value          = _NVGDQUAY_ASYNCCLIENT_DTO.UNITCODE;
                                if (cmd.ExecuteNonQuery() > 0)
                                {
                                    countCheckInsertSuccess++;
                                    INSERT_DATA_HANG_GIAODICHQUAY_SQL(_NVGDQUAY_ASYNCCLIENT_DTO, ref countCheckInsertSuccess);
                                }
                            }
                            catch (Exception ex)
                            {
                                WriteLogs.LogError(ex);
                            }
                            finally
                            {
                                connection.Close();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        WriteLogs.LogError(ex);
                    }
                }
            }
            return(countCheckInsertSuccess);
        }
示例#12
0
        public static List <NVGDQUAY_ASYNCCLIENT_DTO> TIMKIEM_GIAODICHQUAY(string KeySearch, DateTime TuNgay, DateTime DenNgay, int DieuKienLoc)
        {
            List <NVGDQUAY_ASYNCCLIENT_DTO> listReturn = new List <NVGDQUAY_ASYNCCLIENT_DTO>();

            try
            {
                using (var connection = new OracleConnection(ConfigurationManager.ConnectionStrings["TBNETERP_SERVER"].ConnectionString))
                {
                    connection.OpenAsync();
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection           = connection;
                    cmd.InitialLONGFetchSize = 1000;
                    cmd.CommandText          = "TIMKIEM_GIAODICHQUAY";
                    cmd.CommandType          = CommandType.StoredProcedure;
                    cmd.Parameters.Add("P_KEYSEARCH", OracleDbType.Varchar2).Value        = KeySearch;
                    cmd.Parameters.Add("P_TUNGAY", OracleDbType.Date).Value               = TuNgay;
                    cmd.Parameters.Add("P_DENNGAY", OracleDbType.Date).Value              = DenNgay;
                    cmd.Parameters.Add("P_DIEUKIENLOC", OracleDbType.Int32).Value         = DieuKienLoc;
                    cmd.Parameters.Add("P_UNITCODE", OracleDbType.Varchar2).Value         = Session.Session.CurrentUnitCode;
                    cmd.Parameters.Add("CURSOR_RESULT", OracleDbType.RefCursor).Direction = ParameterDirection.Output;
                    OracleDataReader dataReader = null;
                    dataReader = cmd.ExecuteReader();
                    if (dataReader.HasRows)
                    {
                        while (dataReader.Read())
                        {
                            NVGDQUAY_ASYNCCLIENT_DTO GDQUAY_DTO = new NVGDQUAY_ASYNCCLIENT_DTO();
                            int     LoaiGD = 0;
                            decimal TIENKHACHDUA, TIENVOUCHER, TIENTHEVIP, TIENTRALAI, TIENTHE, TIENCOD, TIENMAT, TTIENCOVAT = 0;
                            int.TryParse(dataReader["LOAIGIAODICH"].ToString(), out LoaiGD);
                            GDQUAY_DTO.MAGIAODICH        = dataReader["MAGIAODICH"].ToString();
                            GDQUAY_DTO.MAGIAODICHQUAYPK  = dataReader["MAGIAODICHQUAYPK"].ToString();
                            GDQUAY_DTO.LOAIGIAODICH      = LoaiGD;
                            GDQUAY_DTO.NGAYTAO           = DateTime.Parse(dataReader["NGAYTAO"].ToString());
                            GDQUAY_DTO.MANGUOITAO        = dataReader["MANGUOITAO"].ToString();
                            GDQUAY_DTO.NGUOITAO          = dataReader["NGUOITAO"].ToString();
                            GDQUAY_DTO.MAQUAYBAN         = dataReader["MAQUAYBAN"].ToString();
                            GDQUAY_DTO.NGAYPHATSINH      = DateTime.Parse(dataReader["NGAYPHATSINH"].ToString());
                            GDQUAY_DTO.HINHTHUCTHANHTOAN = dataReader["HINHTHUCTHANHTOAN"].ToString();
                            GDQUAY_DTO.MAVOUCHER         = dataReader["MAVOUCHER"].ToString();
                            decimal.TryParse(dataReader["TIENKHACHDUA"].ToString(), out TIENKHACHDUA);
                            GDQUAY_DTO.TIENKHACHDUA = TIENKHACHDUA;
                            decimal.TryParse(dataReader["TIENVOUCHER"].ToString(), out TIENVOUCHER);
                            GDQUAY_DTO.TIENVOUCHER = TIENVOUCHER;
                            decimal.TryParse(dataReader["TIENTHEVIP"].ToString(), out TIENTHEVIP);
                            GDQUAY_DTO.TIENTHEVIP = TIENTHEVIP;
                            decimal.TryParse(dataReader["TIENTRALAI"].ToString(), out TIENTRALAI);
                            GDQUAY_DTO.TIENTRALAI = TIENTRALAI;
                            decimal.TryParse(dataReader["TIENTHE"].ToString(), out TIENTHE);
                            GDQUAY_DTO.TIENTHE = TIENTHE;
                            decimal.TryParse(dataReader["TIENCOD"].ToString(), out TIENCOD);
                            GDQUAY_DTO.TIENCOD = TIENCOD;
                            decimal.TryParse(dataReader["TIENMAT"].ToString(), out TIENMAT);
                            GDQUAY_DTO.TIENMAT = TIENMAT;
                            decimal.TryParse(dataReader["TTIENCOVAT"].ToString(), out TTIENCOVAT);
                            GDQUAY_DTO.TTIENCOVAT  = TTIENCOVAT;
                            GDQUAY_DTO.THOIGIAN    = dataReader["THOIGIAN"].ToString();
                            GDQUAY_DTO.MAKHACHHANG = dataReader["MAKHACHHANG"].ToString();
                            GDQUAY_DTO.UNITCODE    = dataReader["UNITCODE"].ToString();
                            listReturn.Add(GDQUAY_DTO);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                WriteLogs.LogError(ex);
                NotificationLauncher.ShowNotification("Thông báo", "Xảy ra lỗi", 1, "0x1", "0x8", "normal");
            }
            return(listReturn);
        }