public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { bool isreadonly = true; string[] para = parameter.ToString().Split(new char[] { ';' }); if (para.Length < 2) { return(true); } switch (para[0]) { case "PH": switch (para[1]) { case "ong_ba": if (values[0] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[0].ToString(), out IsInEditMode); if (IsInEditMode == true && StartUp.M_ong_ba.Equals("1")) { isreadonly = false; } } break; case "ngay_lct": if (values[0] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[0].ToString(), out IsInEditMode); if (IsInEditMode == true && StartUp.M_ngay_lct.Equals("1")) { if (values[0].ToString() == "1") { isreadonly = false; } } } break; } break; case "CT": if (true) { string paraStr = para[1]; switch (paraStr) { #region so_luong case "so_luong": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; //IsInEditMode = values[1].ToString().Equals("1") ? true : false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { bool IsCheckedPH_HDDT = false; bool.TryParse(values[2].ToString(), out IsCheckedPH_HDDT); if (IsCheckedPH_HDDT == true) { isreadonly = false; } } if (values[0].ToString() == "") { isreadonly = true; } } } break; #endregion #region gia_nt2 case "gia_nt2": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal so_luong = 0; decimal.TryParse(values[0].ToString(), out so_luong); bool IsCheckedPH_HDDT = false; bool.TryParse(values[2].ToString(), out IsCheckedPH_HDDT); if (so_luong != 0 && IsCheckedPH_HDDT == true) { isreadonly = false; } } } } break; #endregion #region tien_nt2 case "tien_nt2": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue && values[3] != DependencyProperty.UnsetValue && values[4] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[3].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal so_luong = 0, gia_nt2 = 0; bool sua_tien = false; bool.TryParse(values[2].ToString(), out sua_tien); decimal.TryParse(values[0].ToString(), out so_luong); decimal.TryParse(values[1].ToString(), out gia_nt2); if (so_luong == 0 || (so_luong * gia_nt2) == 0 || sua_tien == true) { isreadonly = false; } } if (values[4].ToString() != "0") { isreadonly = true; } } } break; #endregion #region gia_nt case "gia_nt": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue && values[3] != DependencyProperty.UnsetValue && values[4] != DependencyProperty.UnsetValue && values[5] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[3].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal so_luong = 0; decimal.TryParse(values[0].ToString(), out so_luong); decimal gia_ton = 0; decimal.TryParse(values[1].ToString(), out gia_ton); bool Px_gia_dd = false; bool.TryParse(values[2].ToString(), out Px_gia_dd); if (so_luong != 0 && ((Px_gia_dd == true && (gia_ton == 1 || gia_ton == 4)) || gia_ton == 2) && values[4].ToString() == "1") { isreadonly = false; } } bool IsCheckedPH_HDDT = false; bool.TryParse(values[5].ToString(), out IsCheckedPH_HDDT); if (IsCheckedPH_HDDT == false) { isreadonly = true; } } } break; #endregion #region tien_nt case "tien_nt": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue && values[3] != DependencyProperty.UnsetValue && values[4] != DependencyProperty.UnsetValue && values[5] != DependencyProperty.UnsetValue && values[6] != DependencyProperty.UnsetValue && values[7] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[4].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal so_luong = 0, gia_nt = 0; bool sua_tien = false; bool.TryParse(values[3].ToString(), out sua_tien); bool Px_gia_dd = false; bool.TryParse(values[2].ToString(), out Px_gia_dd); decimal.TryParse(values[0].ToString(), out so_luong); decimal.TryParse(values[1].ToString(), out gia_nt); decimal gia_ton = 0; decimal.TryParse(values[6].ToString(), out gia_ton); bool IsCheckedPH_HDDT = false; bool.TryParse(values[7].ToString(), out IsCheckedPH_HDDT); if ((so_luong == 0 || (so_luong * gia_nt) == 0 || sua_tien == true) && ((Px_gia_dd == true && (gia_ton == 1 || gia_ton == 4)) || gia_ton == 2) && values[5].ToString() == "1" && IsCheckedPH_HDDT == true) { isreadonly = false; } } } } break; #endregion #region gia2 case "gia2": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue && values[3] != DependencyProperty.UnsetValue && values[4] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[3].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal so_luong = 0, gia_nt2 = 0, ty_gia = 0; bool sua_tien = false; decimal.TryParse(values[0].ToString(), out so_luong); decimal.TryParse(values[1].ToString(), out gia_nt2); bool.TryParse(values[2].ToString(), out sua_tien); decimal.TryParse(StartUp.DsTrans.Tables[0].DefaultView[0]["ty_gia"].ToString(), out ty_gia); bool IsCheckedPH_HDDT = false; bool.TryParse(values[4].ToString(), out IsCheckedPH_HDDT); if (so_luong != 0 && ((gia_nt2 * ty_gia) == 0 || sua_tien == true) && IsCheckedPH_HDDT == true) { //&& values[4].ToString() == "1") isreadonly = false; } } } } break; #endregion #region tien2 case "tien2": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue && values[3] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[2].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal tien_nt2 = 0, ty_gia = 0; bool sua_tien = false; decimal.TryParse(values[0].ToString(), out tien_nt2); bool.TryParse(values[1].ToString(), out sua_tien); decimal.TryParse(StartUp.DsTrans.Tables[0].DefaultView[0]["ty_gia"].ToString(), out ty_gia); if (sua_tien == true || (tien_nt2 * ty_gia) == 0) { //|| values[3].ToString() == "0") isreadonly = false; } } bool IsCheckedPH_HDDT = false; bool.TryParse(values[3].ToString(), out IsCheckedPH_HDDT); if (IsCheckedPH_HDDT == false) { isreadonly = true; } } } break; #endregion #region tl_ck case "tl_ck": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue ) { bool IsInEditMode = false; bool.TryParse(values[0].ToString(), out IsInEditMode); if (IsInEditMode == true) { bool IsCheckedPH_HDDT = false; bool.TryParse(values[1].ToString(), out IsCheckedPH_HDDT); if (IsCheckedPH_HDDT == true) { isreadonly = false; } } } } break; #endregion #region km_ck case "km_ck": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue ) { bool IsInEditMode = false; bool.TryParse(values[0].ToString(), out IsInEditMode); if (IsInEditMode == true) { bool IsCheckedPH_HDDT = false; bool.TryParse(values[1].ToString(), out IsCheckedPH_HDDT); if (IsCheckedPH_HDDT == true) { isreadonly = false; } } } } break; #endregion #region ck_nt case "ck_nt": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal tl_ck = 0; decimal.TryParse(values[0].ToString(), out tl_ck); if (tl_ck != 0) { isreadonly = false; } } bool IsCheckedPH_HDDT = false; bool.TryParse(values[2].ToString(), out IsCheckedPH_HDDT); if (IsCheckedPH_HDDT == false) { isreadonly = true; } } } break; #endregion #region ck case "ck": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue && values[3] != DependencyProperty.UnsetValue && values[4] != DependencyProperty.UnsetValue && values[5] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[2].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal ck_nt = 0, ty_gia = 0; bool sua_tien = false; decimal tl_ck = 0; decimal.TryParse(values[0].ToString(), out ck_nt); bool.TryParse(values[1].ToString(), out sua_tien); decimal.TryParse(values[4].ToString(), out tl_ck); decimal.TryParse(StartUp.DsTrans.Tables[0].DefaultView[0]["ty_gia"].ToString(), out ty_gia); if ((sua_tien == true || (ck_nt * ty_gia) == 0) && tl_ck != 0) { isreadonly = false; } } bool IsCheckedPH_HDDT = false; bool.TryParse(values[5].ToString(), out IsCheckedPH_HDDT); if (IsCheckedPH_HDDT == false) { isreadonly = true; } } } break; #endregion #region gia case "gia": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue && values[3] != DependencyProperty.UnsetValue && values[4] != DependencyProperty.UnsetValue && values[5] != DependencyProperty.UnsetValue && values[6] != DependencyProperty.UnsetValue && values[7] != DependencyProperty.UnsetValue && values[8] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[4].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal so_luong = 0, gia_nt = 0, ty_gia = 0; bool px_gia_dd = false; bool sua_tien = false; decimal.TryParse(values[0].ToString(), out so_luong); decimal.TryParse(values[1].ToString(), out gia_nt); bool.TryParse(values[2].ToString(), out sua_tien); bool.TryParse(values[3].ToString(), out px_gia_dd); decimal.TryParse(StartUp.DsTrans.Tables[0].DefaultView[0]["ty_gia"].ToString(), out ty_gia); decimal gia_ton = 0; decimal.TryParse(values[7].ToString(), out gia_ton); if (so_luong != 0 && values[6].ToString() == "1" && ((px_gia_dd == true && (gia_ton == 1 || gia_ton == 4)) || gia_ton == 2) && (sua_tien == true || gia_nt * ty_gia == 0)) { isreadonly = false; } } bool IsCheckedPH_HDDT = false; bool.TryParse(values[8].ToString(), out IsCheckedPH_HDDT); if (IsCheckedPH_HDDT == false) { isreadonly = true; } } } break; #endregion #region tien case "tien": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue && values[3] != DependencyProperty.UnsetValue && values[4] != DependencyProperty.UnsetValue && values[5] != DependencyProperty.UnsetValue && values[6] != DependencyProperty.UnsetValue && values[7] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[3].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal tien_nt = 0, ty_gia = 0; bool px_gia_dd = false; bool sua_tien = false; decimal.TryParse(values[0].ToString(), out tien_nt); bool.TryParse(values[1].ToString(), out sua_tien); bool.TryParse(values[2].ToString(), out px_gia_dd); decimal.TryParse(StartUp.DsTrans.Tables[0].DefaultView[0]["ty_gia"].ToString(), out ty_gia); decimal gia_ton = 0; decimal.TryParse(values[6].ToString(), out gia_ton); if ((sua_tien == true || tien_nt * ty_gia == 0) && ((px_gia_dd == true && (gia_ton == 1 || gia_ton == 4)) || gia_ton == 2) && values[5].ToString() == "1") { isreadonly = false; } } bool IsCheckedPH_HDDT = false; bool.TryParse(values[7].ToString(), out IsCheckedPH_HDDT); if (IsCheckedPH_HDDT == false) { isreadonly = true; } } } break; #endregion #region tk thuế nợ, cục thuế trong ph case "ma_kh2_ph": case "tk_thue_no_IsReadOnly": case "tk_thue_no_AllowEmty": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { if (values[0].ToString() == "1" || (values.Length > 2 && values[2].ToString() == "0")) { isreadonly = false; } } } } break; #endregion #region t_thue_nt_readOnly case "t_thue_nt_readOnly": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue) //&& values[2] != DependencyProperty.UnsetValue //&& values[3] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { //decimal t_tien_nt = 0, thue_suat = 0; //decimal.TryParse(values[0].ToString(), out t_tien_nt); //decimal.TryParse(values[1].ToString(), out thue_suat); //if (t_tien_nt * thue_suat == 0 || values[2].ToString() == "1") if (values[0].ToString() == "1") { isreadonly = true; } else { isreadonly = false; } } else { isreadonly = false; } } } break; #endregion #region t_thue_readOnly case "t_thue_readOnly": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue) //&& values[3] != DependencyProperty.UnsetValue //&& values[4] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[2].ToString(), out IsInEditMode); if (IsInEditMode == true) { //decimal t_tien = 0, thue_suat = 0; //decimal.TryParse(values[0].ToString(), out t_tien); //decimal.TryParse(values[1].ToString(), out thue_suat); // if (t_tien * thue_suat == 0 || (values[2].ToString() == "1" && values[3].ToString() == "1")) if (values[0].ToString() == "1" && values[1].ToString() == "1") { isreadonly = true; } else { isreadonly = false; } } else { isreadonly = false; } } } break; #endregion #region tk_vt case "tk_vt": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue && values[2] != DependencyProperty.UnsetValue && values[3] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[2].ToString(), out IsInEditMode); if (IsInEditMode == true) { //double sua_tk_vt = 0; //double.TryParse(values[0].ToString(), out sua_tk_vt); string tk_vt = values[1].ToString().Trim(); string vt_ton_kho = values[3].ToString().Trim(); //1223094 if (vt_ton_kho == "1" && (values[0].ToString() == "1" || StartUp.IsTkMe(tk_vt))) { isreadonly = false; } } } } break; #endregion #region tk_km_i case "tk_km_i": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { //string tk_km_dmvt = values[2].ToString().Trim(); if (values[0].ToString() == "1") // && (tk_km_dmvt == "" || StartUp.IsTkMe(tk_km_dmvt))) { isreadonly = false; } } } } break; #endregion #region tk_ck case "tk_ck": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue) //&& values[2] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { decimal tl_ck = 0; decimal.TryParse(values[0].ToString(), out tl_ck); // string tk_ck_dmvt = values[1].ToString().Trim(); if (tl_ck != 0) // && (tk_ck_dmvt == "" || StartUp.IsTkMe(tk_ck_dmvt))) { isreadonly = false; } } } } break; #endregion #region tk_dt case "tk_dt": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { string tk_dt_dmvt = values[0].ToString().Trim(); if (tk_dt_dmvt == "" || StartUp.IsTkMe(tk_dt_dmvt)) { isreadonly = false; } } } } break; #endregion #region tk_gv case "tk_gv": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { string tk_gv_dmvt = values[0].ToString().Trim(); if (tk_gv_dmvt == "" || StartUp.IsTkMe(tk_gv_dmvt)) { isreadonly = false; } } } } break; #endregion #region tk_thue_co_IsReadOnly case "tk_thue_co_IsReadOnly": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { string tk_thue_co_dmthue = values[0].ToString().Trim(); if (tk_thue_co_dmthue == "" || StartUp.IsTkMe(tk_thue_co_dmthue)) { isreadonly = false; } } } } break; #endregion #region ma_post case "ma_post": { if (values[0] != DependencyProperty.UnsetValue && values[1] != DependencyProperty.UnsetValue) { bool IsInEditMode = false; bool.TryParse(values[1].ToString(), out IsInEditMode); if (IsInEditMode == true) { int sl_in = int.Parse(values[0].ToString()); if (sl_in == 0) { isreadonly = false; } } else { isreadonly = false; } } } break; #endregion } } break; } return(isreadonly); }
private void btnin_Click(object sender, RoutedEventArgs e) { if (GridSearch.XGReport.ActiveRecord == null) { return; } if (txtlien.Value != null) { int sl_in = Convert.ToInt16(StartUp.DsTrans.Tables[0].DefaultView[0]["sl_in"]); DataRowView drvXReport = (GridSearch.XGReport.ActiveRecord as DataRecord).DataItem as DataRowView; string nd51 = drvXReport["nd51"].ToString(); if (nd51 == "1" && sl_in > 0) { if (ExMessageBox.Show(390, StartUp.SysObj, "Hóa đơn đã được in, có muốn in lại hay không?", "", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No) == MessageBoxResult.No) { return; } FrmLogin login = new FrmLogin(); login.ShowDialog(); if (!login.IsLogined) { return; } } int so_lien = 1, so_lien_hd = 0, so_lien_xac_minh = 0; int so_lien_hien_thoi = Convert.ToInt32(StartUp.GetSo_lien((DataRecord)GridSearch.XGReport.ActiveRecord, StartUp.DsTrans.Tables[0].DefaultView[0]["stt_rec"].ToString())); int.TryParse(DsPrint.Tables["TablePH"].DefaultView[0]["so_lien_hd"].ToString(), out so_lien_hd); int.TryParse(StartUp.DmctInfo["so_lien_xac_minh"].ToString(), out so_lien_xac_minh); if (so_lien_hien_thoi > so_lien_hd) { DsPrint.Tables["TablePH"].DefaultView[0]["ban_sao"] = "BẢN SAO"; } int so_lan_in = Convert.ToInt16(Math.Ceiling(Convert.ToDouble(txtlien.Text) / Convert.ToDouble((GridSearch.XGReport.ActiveRecord as DataRecord).Cells["so_lien"].Value))); while (so_lien <= so_lan_in) { DsPrint.Tables["TablePH"].DefaultView[0]["so_lien"] = so_lien; if (so_lien_hien_thoi <= so_lien_hd) { if (so_lien <= so_lien_hien_thoi || so_lien > so_lien_hd) { DsPrint.Tables["TablePH"].DefaultView[0]["ban_sao"] = "BẢN SAO"; } else { DsPrint.Tables["TablePH"].DefaultView[0]["ban_sao"] = ""; } } InsertRowCT(nd51); GridSearch.V_In(1, (so_lien_xac_minh >= so_lien && string.IsNullOrEmpty(DsPrint.Tables["TablePH"].DefaultView[0]["ban_sao"].ToString()))); so_lien++; } //update sl_in và so_lien in if (nd51 == "1" && GridSearch.PrintSuccess) { string stt_rec = StartUp.DsTrans.Tables[0].DefaultView[0]["stt_rec"].ToString(); StartUp.UpdateSl_in(stt_rec, drvXReport["id"].ToString(), txtlien.Text); StartUp.DsTrans.Tables[0].DefaultView[0]["sl_in"] = StartUp.GetSl_in(stt_rec); } ResetTableCt(); StartUp.SetPhIn(this.DataContext as DataTable); } this.Close(); }
private void btnin_lt_Click(object sender, RoutedEventArgs e) { if (GridSearch.XGReport.ActiveRecord == null) { return; } DataRowView drvXReport = (GridSearch.XGReport.ActiveRecord as DataRecord).DataItem as DataRowView; string mau_tu_in = drvXReport["mau_tu_in"].ToString(); if (StartUp.IsQLHD && mau_tu_in == "1") { ExMessageBox.Show(395, StartUp.SysObj, "Có chứng từ thuộc mẫu hóa đơn tự in, không in liên tục được!", "", MessageBoxButton.OK, MessageBoxImage.Information); return; } if (StartUp.SysObj.GetOption("M_IN_HOI_CK").ToString() == "1") { if (ExMessageBox.Show(400, StartUp.SysObj, "Có chắc chắn in tất cả các chứng từ đã được lọc?", "", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No) == MessageBoxResult.Yes) { int so_lien; List <int> lstSo_lien = new List <int>(); if (txtlien.Value != null) { int iRowTmp = FrmTT_SOCTHDA_HDDT.iRow; so_lien = 1; bool isPrint = false; int so_lien_xac_minh = 0; int.TryParse(StartUp.DmctInfo["so_lien_xac_minh"].ToString(), out so_lien_xac_minh); int so_lan_in = Convert.ToInt16(Math.Ceiling(Convert.ToDouble(txtlien.Text) / Convert.ToDouble((GridSearch.XGReport.ActiveRecord as DataRecord).Cells["so_lien"].Value))); while (so_lien <= so_lan_in) { for (int i = 1; i < DsPrint.Tables[0].Rows.Count; i++) { string stt_rec = DsPrint.Tables[0].Rows[i]["stt_rec"].ToString(); DsPrint.Tables["TablePH"].DefaultView.RowFilter = "stt_rec= '" + stt_rec + "'"; DsPrint.Tables["TableCT"].DefaultView.RowFilter = "stt_rec= '" + stt_rec + "'"; DsPrint.Tables["TableCT"].DefaultView.Sort = "stt_rec0"; if (so_lien == 1) { lstSo_lien.Add(Convert.ToInt32(StartUp.GetSo_lien((DataRecord)GridSearch.XGReport.ActiveRecord, stt_rec))); } if (DsPrint.Tables[0].Rows[i]["status"].ToString() != "3") { int so_lien_hien_thoi = lstSo_lien[i - 1], so_lien_hd = 0; int.TryParse(DsPrint.Tables["TablePH"].DefaultView[0]["so_lien_hd"].ToString(), out so_lien_hd); if (so_lien_hien_thoi > so_lien_hd) { DsPrint.Tables["TablePH"].DefaultView[0]["ban_sao"] = "BẢN SAO"; } else { if (so_lien <= so_lien_hien_thoi || so_lien > so_lien_hd) { DsPrint.Tables["TablePH"].DefaultView[0]["ban_sao"] = "BẢN SAO"; } else { DsPrint.Tables["TablePH"].DefaultView[0]["ban_sao"] = ""; } } DsPrint.Tables["TablePH"].DefaultView[0]["so_lien"] = so_lien; int sl_in = Convert.ToInt16(StartUp.DsTrans.Tables[0].Rows[i]["sl_in"]); if (mau_tu_in == "1" && sl_in > 0 && !isPrint) { if (ExMessageBox.Show(405, StartUp.SysObj, "Hóa đơn đã được in, có muốn in lại hay không?", "", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No) == MessageBoxResult.No) { return; } FrmLogin login = new FrmLogin(); login.ShowDialog(); if (!login.IsLogined) { return; } // da thong bao roi, lan sau ko thong bao nua isPrint = true; } InsertRowCT(mau_tu_in); GridSearch.V_In(1, (so_lien_xac_minh >= so_lien && string.IsNullOrEmpty(DsPrint.Tables["TablePH"].DefaultView[0]["ban_sao"].ToString()))); if (mau_tu_in == "1" && so_lien == 1 && GridSearch.PrintSuccess) { StartUp.UpdateSl_in(stt_rec, drvXReport["id"].ToString(), txtlien.Text); StartUp.DsTrans.Tables[0].Rows[i]["sl_in"] = StartUp.GetSl_in(stt_rec); } } } so_lien++; } ResetTableCt(); DsPrint.Tables["TablePH"].DefaultView.RowFilter = "stt_rec= '" + DsPrint.Tables["TablePH"].Rows[iRowTmp]["stt_rec"].ToString() + "'"; DsPrint.Tables["TableCT"].DefaultView.RowFilter = "stt_rec= '" + DsPrint.Tables["TablePH"].Rows[iRowTmp]["stt_rec"].ToString() + "'"; DsPrint.Tables["TableCT"].DefaultView.Sort = "stt_rec0"; StartUp.SetPhIn(this.DataContext as DataTable); } this.Close(); } } }
private void grdConfirm_OnOk(object sender, RoutedEventArgs e) { try { if (Keyboard.FocusedElement.GetType().Equals(typeof(TextBoxAutoComplete))) { AutoCompleteTextBox txt = (Keyboard.FocusedElement as TextBoxAutoComplete).ParentControl; if (!txt.CheckLostFocus()) { return; } } if (CheckValid()) { SysObj.SetSysvar("M_ngay_ct1", txtNgay_ct1.dValue); SysObj.SetSysvar("M_ngay_ct2", txtNgay_ct2.dValue); bool IsshowView = false; GridSearch._GenerateSQLString(); GridSearch.GrdSearch.ExecuteCommand(DataPresenterCommands.EndEditModeAndAcceptChanges); StartUp.TransFilterCmd.Parameters["@PhFilter"].Value = GetPhFilterExpr(); // "ngay_ct between '20100101' and '20100131'"; StartUp.TransFilterCmd.Parameters["@CtFilter"].Value = GetCtFilterExpr(); StartUp.TransFilterCmd.Parameters["@Sl_ct"].Value = 0; DataSet newDs = DataProvider.FillCommand(StartUp.SysObj, StartUp.TransFilterCmd); // xuất thông báo tìm kiếm int n = 0; Decimal a = (from p in newDs.Tables[0].AsEnumerable() select p.Field <Decimal?>("t_tt")).Sum().Value; string tongPsVND = a.ToString(SysObj.GetOption("M_IP_TIEN").ToString()); Decimal tongPsNT = (from p in newDs.Tables[0].AsEnumerable() select p.Field <Decimal?>("t_tt_nt")).Sum().Value; string _tongPsNT = tongPsNT.ToString(SysObj.GetOption("M_IP_TIEN_NT").ToString()); n = newDs.Tables[0].Rows.Count; //a = StartUp.DsTrans.Tables[0].AsEnumerable().Sum("t_tt").Value.ToString(); if (n > 0) { IsshowView = true; Sm.Windows.Controls.ExMessageBox.Show(410, StartUp.SysObj, "Có " + "[" + n + "]" + " chứng từ. Tổng phát sinh " + "[" + _tongPsNT + "]" + " / " + "[" + tongPsVND + "]", "", MessageBoxButton.OK, MessageBoxImage.Information); } else { Sm.Windows.Controls.ExMessageBox.Show(415, StartUp.SysObj, "Không có chứng từ nào như vậy!", "", MessageBoxButton.OK, MessageBoxImage.Information); } if (IsshowView == true) { // show form View //string stringBrowse1 = "ngay_ct:100:h=Ngày c.từ:FL:D;so_ct:70:h=Số c.từ:FL;so_seri:70:h=Số seri;" + // "ma_kh:100:h=Mã khách;ten_kh:180:h=Tên khách;dien_giai:225:h=Diễn giải;" + // "ma_bp:100:h=NVBH;t_tien_nt2:130:h=Tiền hàng nt:N1:S;t_thue_nt:130:h=Tiền thuế nt:N1:S;" + // "t_tt_nt:130:h=Tổng tt nt:N1:S;ma_nx:80:h=Mã nx;thue_suat:80:h=Thuế suất:F=2;tk_thue_co:80:h=Tk thuế;" + // "t_tien2:130:h=Tiền hàng:N0:S;t_thue:130:h=Tiền thuế:N0:S;t_tt:130:h=Tổng tt:N0:S;ma_nt:100:h=Mã nt;" + // "ty_gia:130:h=Tỷ giá:R;date:105:h=Ngày cập nhật:D;time:100:h=Giờ cập nhật;" + // "user_id:100:h=Số hiệu NSD:N;user_name:100:h=Tên NSD"; //string stringBrowse2 = "ma_vt:100:h=Mã vật tư:FL;ten_vt:270:h=Tên vật tư:FL;dvt1:50:h=Ðvt;" + // "ma_kho_i:70:h=Mã kho;so_luong:130:h=Số lượng:Q:S;gia_nt2:130:h=Giá bán nt:P1;tien_nt2:130:h=Thành tiền nt:N1:S;" + // "tk_dt:80:h=Tk dt;gia_nt:130:h=Giá vốn nt:P1;tien_nt:130:h=Tiền vốn nt:N1:S;tk_vt:80:h=Tk kho;" + // "tk_gv:80:h=Tk gv;gia2:130:h=Giá bán:P0;tien2:130:h=Thành tiền:N0:S;" + // "gia:130:h=Giá vốn:N1;tien:130:h=Tiền vốn:N0:S"; SmVoucherLib.FormView _frmView = new SmVoucherLib.FormView(SysObj, newDs.Tables[0].DefaultView, newDs.Tables[1].DefaultView, StartUp.stringBrowse1, StartUp.stringBrowse2, "stt_rec"); _frmView.ListFieldSum = "t_tt_nt;t_tt"; _frmView.TongCongLabel = "Tổng thanh toán"; if (StartUp.M_LAN.Equals("V")) { _frmView.frmBrw.Title = StartUp.M_Tilte + ". Ky " + txtNgay_ct1.Text + " - " + txtNgay_ct2.Text; } else { _frmView.frmBrw.Title = StartUp.M_Tilte + ". Period " + txtNgay_ct1.Text + " - " + txtNgay_ct2.Text; } //Them cac truong tu do SmVoucherLib.FreeCodeFieldLib.InitFreeCodeField(StartUp.SysObj, _frmView.frmBrw.oBrowseCt, StartUp.Ma_ct, 1); _frmView.frmBrw.LanguageID = "TT_SOCTHDA_HDDT_8"; _frmView.ShowDialog(); StartUp.DataFilter(StartUp.DsTrans.Tables[0].Rows[0]["stt_rec"].ToString()); int Count1 = StartUp.DsTrans.Tables[0].Rows.Count; int Count2 = StartUp.DsTrans.Tables[1].Rows.Count; for (int i = Count1 - 1; i >= 1; i--) { StartUp.DsTrans.Tables[0].Rows.RemoveAt(i); } for (int i = 0; i < Count2; i++) { StartUp.DsTrans.Tables[1].Rows.RemoveAt(0); } int Count = 0; Count = newDs.Tables[0].Rows.Count; for (int i = 0; i < Count; i++) { StartUp.DsTrans.Tables[0].Rows.Add(newDs.Tables[0].Rows[i].ItemArray); } Count = newDs.Tables[1].Rows.Count; for (int i = 0; i < Count; i++) { StartUp.DsTrans.Tables[1].Rows.Add(newDs.Tables[1].Rows[i].ItemArray); } // ko xoá dòng thứ 0 của table[0] vì dòng đó là dòng tạm. if (newDs.Tables[0].Rows.Count > 0) { //Xét lại irow if (FrmTT_SOCTHDA_HDDT.iRow > newDs.Tables[0].Rows.Count - 1) { FrmTT_SOCTHDA_HDDT.iRow = newDs.Tables[0].Rows.Count - 1; } StartUp.DataFilter(StartUp.DsTrans.Tables[0].Rows[FrmTT_SOCTHDA_HDDT.iRow]["stt_rec"].ToString()); } // Set lai irow va rowfilter ... if (_frmView.DataGrid.ActiveRecord != null) { int select_irow = (_frmView.DataGrid.ActiveRecord as DataRecord).Index; if (select_irow >= 0) { string selected_stt_rec = (_frmView.DataGrid.DataSource as DataView)[select_irow]["stt_rec"].ToString(); FrmTT_SOCTHDA_HDDT.iRow = select_irow + 1; //refresh lại rowfilter StartUp.DataFilter(selected_stt_rec); } } this.Close(); } } } catch (Exception ex) { SmErrorLib.ErrorLog.CatchMessage(ex); } }