protected void ASPxGridView1_CustomCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e) { ASPxTextBox oidCtr = this.ASPxGridView1.FindEditFormTemplateControl("txt_Oid") as ASPxTextBox; ASPxComboBox partyTo = this.ASPxGridView1.FindEditFormTemplateControl("cmb_PartyTo") as ASPxComboBox; ASPxTextBox docN = this.ASPxGridView1.FindEditFormTemplateControl("txt_DocNo") as ASPxTextBox; ASPxComboBox docType = this.ASPxGridView1.FindEditFormTemplateControl("cbo_DocType") as ASPxComboBox; ASPxMemo remark = this.ASPxGridView1.FindEditFormTemplateControl("txt_Remarks1") as ASPxMemo; ASPxComboBox termId = this.ASPxGridView1.FindEditFormTemplateControl("txt_TermId") as ASPxComboBox; ASPxTextBox docCurr = this.ASPxGridView1.FindEditFormTemplateControl("txt_Currency") as ASPxTextBox; ASPxSpinEdit exRate = this.ASPxGridView1.FindEditFormTemplateControl("txt_DocExRate") as ASPxSpinEdit; ASPxTextBox acCode = this.ASPxGridView1.FindEditFormTemplateControl("txt_AcCode") as ASPxTextBox; ASPxTextBox acSource = this.ASPxGridView1.FindEditFormTemplateControl("txt_AcSource") as ASPxTextBox; ASPxTextBox supplierBillNo = this.ASPxGridView1.FindEditFormTemplateControl("txt_SupplierBillNo") as ASPxTextBox; ASPxDateEdit supplierBillDate = this.ASPxGridView1.FindEditFormTemplateControl("txt_SupplierBillDate") as ASPxDateEdit; ASPxDateEdit eta = this.ASPxGridView1.FindEditFormTemplateControl("txt_Eta") as ASPxDateEdit; string invN = docN.Text; C2.XAApPayable inv = Manager.ORManager.GetObject(typeof(XAApPayable), SafeValue.SafeInt(oidCtr.Text, 0)) as XAApPayable; bool isNew = false; if (invN.Length < 1) // first insert invoice { if (supplierBillNo.Text.Trim().Length > 0) { string sqlCnt = string.Format("select DocNo from XaApPayable where SupplierBillNo='{0}' and PartyTo='{1}' and DocType='{2}' AND CancelInd='N'", supplierBillNo.Text.Trim(), SafeValue.SafeString(partyTo.Value, ""), docType.Value.ToString()); string billNo = SafeValue.SafeString(C2.Manager.ORManager.ExecuteScalar(sqlCnt), ""); if (billNo.Length > 0) { throw new Exception(string.Format("Have this Supplier Bill No In {0}({1})", billNo, docType.Value.ToString())); return; } } isNew = true; inv = new XAApPayable(); //invN = C2Setup.GetNextNo("AP-PAYABLE"); string counterType = "AP-PAYABLE"; invN = C2Setup.GetNextNo(inv.DocType, counterType, supplierBillDate.Date); inv.PartyTo = SafeValue.SafeString(partyTo.Value, ""); inv.MastType = ""; //SafeValue.SafeString(docCate.Value, ""); inv.DocType = docType.Value.ToString(); inv.DocNo = invN.ToString(); inv.Term = termId.Text; inv.Description = remark.Text; inv.CurrencyId = docCurr.Text.ToString(); inv.ExRate = SafeValue.SafeDecimal(exRate.Value, 1); if (inv.ExRate <= 0) { inv.ExRate = 1; } inv.AcCode = EzshipHelper.GetAccApCode(inv.PartyTo, inv.CurrencyId); inv.AcSource = acSource.Text; inv.ExportInd = "N"; inv.UserId = HttpContext.Current.User.Identity.Name; inv.EntryDate = DateTime.Now; inv.CancelDate = new DateTime(1900, 1, 1); inv.CancelInd = "N"; inv.SupplierBillNo = supplierBillNo.Text; inv.SupplierBillDate = SafeValue.SafeDate(supplierBillDate.Date, DateTime.Today); inv.DocDate = inv.SupplierBillDate; inv.ChqNo = ""; inv.ChqDate = new DateTime(1900, 1, 1); inv.MastRefNo = "0"; inv.JobRefNo = "0"; inv.MastType = ""; inv.Eta = eta.Date; string[] currentPeriod = EzshipHelper.GetAccPeriod(inv.DocDate); inv.AcYear = SafeValue.SafeInt(currentPeriod[1], inv.DocDate.Year); inv.AcPeriod = SafeValue.SafeInt(currentPeriod[0], inv.DocDate.Month); try { C2.Manager.ORManager.StartTracking(inv, Wilson.ORMapper.InitialState.Inserted); C2.Manager.ORManager.PersistChanges(inv); //C2Setup.SetNextNo("AP-PAYABLE", invN); C2Setup.SetNextNo("", counterType, invN, inv.DocDate); } catch (Exception ex) { throw new Exception(ex.Message + ex.StackTrace); } } else { if (supplierBillNo.Text.Trim().Length > 0) { string sqlCnt = string.Format("select DocNo from XaApPayable where SupplierBillNo='{0}' and PartyTo='{1}' and DocType='{2}' and DocNo!='{3}' AND CancelInd='N'", supplierBillNo.Text.Trim(), SafeValue.SafeString(partyTo.Value, ""), docType.Value.ToString(), inv.DocNo); string billNo = SafeValue.SafeString(C2.Manager.ORManager.ExecuteScalar(sqlCnt), ""); if (billNo.Length > 0) { throw new Exception(string.Format("Have this Supplier Bill No In {0}({1})", billNo, docType.Value.ToString())); return; } } inv.PartyTo = SafeValue.SafeString(partyTo.Value, ""); inv.Term = termId.Text; inv.Description = remark.Text; inv.CurrencyId = docCurr.Text.ToString(); inv.ExRate = SafeValue.SafeDecimal(exRate.Value, 1); if (inv.ExRate <= 0) { inv.ExRate = 1; } inv.AcCode = EzshipHelper.GetAccApCode(inv.PartyTo, inv.CurrencyId); inv.AcSource = acSource.Text; inv.SupplierBillNo = supplierBillNo.Text; inv.SupplierBillDate = SafeValue.SafeDate(supplierBillDate.Date, DateTime.Now); inv.DocDate = inv.SupplierBillDate; inv.Eta = eta.Date; string[] currentPeriod = EzshipHelper.GetAccPeriod(inv.DocDate); inv.AcYear = SafeValue.SafeInt(currentPeriod[1], inv.DocDate.Year); inv.AcPeriod = SafeValue.SafeInt(currentPeriod[0], inv.DocDate.Month); try { Manager.ORManager.StartTracking(inv, InitialState.Updated); Manager.ORManager.PersistChanges(inv); UpdateMaster(inv.SequenceId.ToString()); } catch { } } Session["PvEditWhere"] = "SequenceId=" + inv.SequenceId; this.dsApPayable.FilterExpression = Session["PvEditWhere"].ToString(); if (isNew) { if (this.ASPxGridView1.GetRow(0) != null) { this.ASPxGridView1.StartEdit(0); } } }
protected void ASPxGridView1_CustomCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e) { ASPxTextBox oidCtr = this.ASPxGridView1.FindEditFormTemplateControl("txt_Oid") as ASPxTextBox; ASPxComboBox partyTo = this.ASPxGridView1.FindEditFormTemplateControl("cmb_PartyTo") as ASPxComboBox; ASPxTextBox otherPartyName = this.ASPxGridView1.FindEditFormTemplateControl("txt_OtherPartyName") as ASPxTextBox; ASPxTextBox docN = this.ASPxGridView1.FindEditFormTemplateControl("txt_DocNo") as ASPxTextBox; ASPxComboBox docCate = this.ASPxGridView1.FindEditFormTemplateControl("cbo_DocCate") as ASPxComboBox; ASPxComboBox docType = this.ASPxGridView1.FindEditFormTemplateControl("cbo_DocType") as ASPxComboBox; ASPxDateEdit docDate = this.ASPxGridView1.FindEditFormTemplateControl("txt_DocDt") as ASPxDateEdit; ASPxMemo remark = this.ASPxGridView1.FindEditFormTemplateControl("txt_Remarks1") as ASPxMemo; ASPxComboBox termId = this.ASPxGridView1.FindEditFormTemplateControl("txt_TermId") as ASPxComboBox; ASPxTextBox docCurr = this.ASPxGridView1.FindEditFormTemplateControl("txt_Currency") as ASPxTextBox; ASPxSpinEdit exRate = this.ASPxGridView1.FindEditFormTemplateControl("txt_DocExRate") as ASPxSpinEdit; ASPxTextBox acCode = this.ASPxGridView1.FindEditFormTemplateControl("txt_AcCode") as ASPxTextBox; ASPxComboBox acSource = this.ASPxGridView1.FindEditFormTemplateControl("txt_AcSource") as ASPxComboBox; ASPxTextBox supplierBillNo = this.ASPxGridView1.FindEditFormTemplateControl("txt_SupplierBillNo") as ASPxTextBox; ASPxDateEdit supplierBillDate = this.ASPxGridView1.FindEditFormTemplateControl("txt_SupplierBillDate") as ASPxDateEdit; ASPxTextBox chqNo = this.ASPxGridView1.FindEditFormTemplateControl("txt_ChqNo") as ASPxTextBox; //ASPxDateEdit chqDate = this.ASPxGridView1.FindEditFormTemplateControl("txt_ChqDate") as ASPxDateEdit; string invN = docN.Text; C2.XAApPayable inv = Manager.ORManager.GetObject(typeof(XAApPayable), SafeValue.SafeInt(oidCtr.Text, 0)) as XAApPayable; if (null == inv)// first insert invoice { inv = new XAApPayable(); invN = C2Setup.GetNextNo("AP-Voucher"); inv.PartyTo = SafeValue.SafeString(partyTo.Value, ""); inv.OtherPartyName = otherPartyName.Text; //inv.MastType = SafeValue.SafeString(docCate.Value, ""); inv.DocType = docType.Value.ToString(); inv.DocNo = invN.ToString(); inv.DocDate = docDate.Date; inv.Term = termId.Text; inv.Description = remark.Text; inv.CurrencyId = docCurr.Text.ToString(); inv.ExRate = SafeValue.SafeDecimal(exRate.Value, 1); if (inv.ExRate <= 0) { inv.ExRate = 1; } inv.AcCode = acCode.Text; inv.AcSource = acSource.Text; inv.SupplierBillNo = supplierBillNo.Text; inv.SupplierBillDate = new DateTime(1900, 1, 1); inv.ChqNo = chqNo.Text; inv.ChqDate = supplierBillDate.Date; inv.ExportInd = "N"; inv.UserId = HttpContext.Current.User.Identity.Name; inv.EntryDate = DateTime.Now; inv.CancelDate = new DateTime(1900, 1, 1); inv.CancelInd = "N"; inv.MastRefNo = "0"; inv.JobRefNo = "0"; inv.MastType = ""; DateTime d = inv.DocDate; if (inv.ChqDate > new DateTime(2000, 1, 1)) { d = inv.ChqDate; } string[] currentPeriod = EzshipHelper.GetAccPeriod(d); inv.AcYear = SafeValue.SafeInt(currentPeriod[1], inv.DocDate.Year); inv.AcPeriod = SafeValue.SafeInt(currentPeriod[0], inv.DocDate.Month); try { C2.Manager.ORManager.StartTracking(inv, Wilson.ORMapper.InitialState.Inserted); C2.Manager.ORManager.PersistChanges(inv); C2Setup.SetNextNo("AP-Voucher", invN); } catch { } } else { inv.PartyTo = SafeValue.SafeString(partyTo.Value, ""); inv.OtherPartyName = otherPartyName.Text; inv.Term = termId.Text; inv.Description = remark.Text; inv.CurrencyId = docCurr.Text.ToString(); inv.ExRate = SafeValue.SafeDecimal(exRate.Value, 1); if (inv.ExRate <= 0) { inv.ExRate = 1; } inv.AcCode = acCode.Text; inv.DocDate = docDate.Date; inv.AcSource = acSource.Text; inv.ChqNo = chqNo.Text; inv.SupplierBillNo = supplierBillNo.Text; inv.ChqDate = supplierBillDate.Date; DateTime d = inv.DocDate; if (inv.ChqDate > new DateTime(2000, 1, 1)) { d = inv.ChqDate; } string[] currentPeriod = EzshipHelper.GetAccPeriod(d); inv.AcYear = SafeValue.SafeInt(currentPeriod[1], inv.DocDate.Year); inv.AcPeriod = SafeValue.SafeInt(currentPeriod[0], inv.DocDate.Month); try { Manager.ORManager.StartTracking(inv, InitialState.Updated); Manager.ORManager.PersistChanges(inv); UpdateMaster(inv.SequenceId.ToString()); } catch { } } Session["VoEditWhere"] = "SequenceId=" + inv.SequenceId; this.dsApPayable.FilterExpression = Session["VoEditWhere"].ToString(); if (this.ASPxGridView1.GetRow(0) != null) { this.ASPxGridView1.StartEdit(0); } }
protected void grid_WhPo_CustomDataCallback(object sender, ASPxGridViewCustomDataCallbackEventArgs e) { string s = e.Parameters; ASPxPageControl pageControl = this.grid_WhPo.FindEditFormTemplateControl("pageControl") as ASPxPageControl; ASPxTextBox txt_Id = pageControl.FindControl("txt_Id") as ASPxTextBox; ASPxTextBox poNo = pageControl.FindControl("txt_PoNo") as ASPxTextBox; string sql = "select Count(*) from wh_PODet where PoNo='" + SafeValue.SafeString(poNo.Text) + "' and (StatusCode='Draft' or StatusCode='Waiting')"; int cnt = SafeValue.SafeInt(C2.Manager.ORManager.ExecuteScalar(sql), 0); if (cnt == 0) { if (s == "CloseJob") { #region close job ASPxLabel closeIndStr = pageControl.FindControl("lb_JobStatus") as ASPxLabel; sql = "select StatusCode from wh_PO where PoNo='" + poNo.Text + "'"; string closeInd = SafeValue.SafeString(C2.Manager.ORManager.ExecuteScalar(sql), "USE");// if (closeInd == "CLS") { sql = string.Format("update wh_PO set StatusCode='USE',UpdateBy='{1}',UpdateDateTime='{2}' where PoNo='{0}'", poNo.Text, EzshipHelper.GetUserName(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); int res = Manager.ORManager.ExecuteCommand(sql); if (res > 0) { e.Result = "Success"; } else { e.Result = "Fail"; } } else { sql = string.Format("update wh_PO set StatusCode='CLS',UpdateBy='{1}',UpdateDateTime='{2}' where PoNo='{0}'", poNo.Text, EzshipHelper.GetUserName(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); int res = Manager.ORManager.ExecuteCommand(sql); if (res > 0) { e.Result = "Success"; } else { e.Result = "Fail"; } } #endregion } } else { e.Result = "NotClose"; } if (s == "Void") { #region void master string sql_cnt = string.Format("select count(SequenceId) from XAArInvoiceDet where MastType='WH' and MastRefNo='{0}'", poNo.Text); cnt = SafeValue.SafeInt(C2.Manager.ORManager.ExecuteScalar(sql_cnt), 0); if (cnt > 0) { e.Result = "Billing"; return; } ASPxLabel closeIndStr = pageControl.FindControl("lb_JobStatus") as ASPxLabel; sql = "select StatusCode from wh_PO where PoNo='" + poNo.Text + "'"; string closeInd = SafeValue.SafeString(C2.Manager.ORManager.ExecuteScalar(sql), "N");// closeIndStr.Text; if (closeInd == "CNL") { sql = string.Format("update wh_PO set StatusCode='USE',UpdateBy='{1}',UpdateDateTime='{2}' where PoNo='{0}'", poNo.Text, EzshipHelper.GetUserName(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); int res = Manager.ORManager.ExecuteCommand(sql); if (res > 0) { e.Result = "Success"; } else { e.Result = "Fail"; } } else { sql = string.Format("update wh_PO set StatusCode='CNL',UpdateBy='{1}',UpdateDateTime='{2}' where PoNo='{0}'", poNo.Text, EzshipHelper.GetUserName(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); int res = Manager.ORManager.ExecuteCommand(sql); if (res > 0) { e.Result = "Success"; } else { e.Result = "Fail"; } } #endregion } if (s == "Invoice") { #region Ap Invoice sql = string.Format(@"select count(*) from XAApPayable where MastRefNo='{0}'", poNo.Text); int docId = 0; cnt = SafeValue.SafeInt(C2.Manager.ORManager.ExecuteScalar(sql), 0); if (cnt == 0) { ASPxTextBox partyTo = pageControl.FindControl("txt_PartyRefNo") as ASPxTextBox; ASPxDateEdit poDate = pageControl.FindControl("txt_PoDate") as ASPxDateEdit; string invN = ""; C2.XAApPayable inv = null; bool isNew = false; if (invN.Length < 1)// first insert invoice { isNew = true; inv = new XAApPayable(); inv.SupplierBillDate = SafeValue.SafeDate(poDate.Date, DateTime.Today); inv.DocDate = inv.SupplierBillDate; inv.DocType = "PL"; invN = C2Setup.GetNextNo(inv.DocType, "AP-PAYABLE", inv.DocDate); inv.PartyTo = SafeValue.SafeString(partyTo.Value, ""); inv.DocNo = invN.ToString(); inv.Term = "CASH"; inv.Description = ""; inv.CurrencyId = System.Configuration.ConfigurationManager.AppSettings["Currency"]; inv.ExRate = 1; inv.AcCode = EzshipHelper.GetAccApCode(inv.PartyTo, inv.CurrencyId); inv.AcSource = "CR"; inv.ExportInd = "N"; inv.UserId = HttpContext.Current.User.Identity.Name; inv.EntryDate = DateTime.Now; inv.CancelDate = new DateTime(1900, 1, 1); inv.CancelInd = "N"; inv.ChqNo = ""; inv.ChqDate = new DateTime(1900, 1, 1); inv.MastRefNo = poNo.Text; inv.JobRefNo = "0"; inv.MastType = "WH"; inv.Eta = DateTime.Now; string[] currentPeriod = EzshipHelper.GetAccPeriod(inv.DocDate); inv.AcYear = SafeValue.SafeInt(currentPeriod[1], inv.DocDate.Year); inv.AcPeriod = SafeValue.SafeInt(currentPeriod[0], inv.DocDate.Month); try { C2.Manager.ORManager.StartTracking(inv, Wilson.ORMapper.InitialState.Inserted); C2.Manager.ORManager.PersistChanges(inv); C2Setup.SetNextNo(inv.DocType, "AP-PAYABLE", invN, inv.DocDate); docId = inv.SequenceId; e.Result = "Success"; } catch { } } sql = "select * from wh_PODet where PoNo='" + poNo.Text + "'"; DataTable dt = C2.Manager.ORManager.GetDataSet(sql).Tables[0]; SavePayableDet(dt, inv.DocNo, docId); } else { DataTable tab = C2.Manager.ORManager.GetDataSet(string.Format(@"select Id from wh_PODet where PoNo='{0}'", poNo.Text)).Tables[0]; int id = 0; C2.XAApPayableDet inv = null; if (tab.Rows.Count > 0) { for (int i = 0; i < tab.Rows.Count; i++) { id = SafeValue.SafeInt(tab.Rows[i]["Id"], 0); Wilson.ORMapper.OPathQuery query = new Wilson.ORMapper.OPathQuery(typeof(XAApPayableDet), "POlineId='" + id + "'"); inv = C2.Manager.ORManager.GetObject(query) as XAApPayableDet; if (inv == null) { SavePayableDet(tab, inv.DocNo, docId); } } } e.Result = "Success"; } #endregion } }