public String PrepareIt() { MDocType dt = MDocType.Get(GetCtx(), GetC_DocType_ID()); if (!MPeriod.IsOpen(GetCtx(), GetDateAcct(), dt.GetDocBaseType())) { _processMsg = "@PeriodClosed@"; return(DocActionVariables.STATUS_INVALID); } // is Non Business Day? if (MNonBusinessDay.IsNonBusinessDay(GetCtx(), GetDateAcct())) { _processMsg = VAdvantage.Common.Common.NONBUSINESSDAY; return(DocActionVariables.STATUS_INVALID); } if (IsVA027_MultiCheque()) { if (Util.GetValueOfInt(DB.ExecuteScalar("Select Count(*) From VA027_ChequeDetails Where VA027_PostDatedCheck_ID=" + GetVA027_PostDatedCheck_ID(), null, Get_Trx())) <= 0) { _processMsg = "@NoLinesFound@"; return(DocActionVariables.STATUS_INVALID); } } return(DocActionVariables.STATUS_INPROGRESS); }
public bool ReverseCorrectIt() { try { MDocType dt = MDocType.Get(GetCtx(), GetC_DocType_ID()); if (!MPeriod.IsOpen(GetCtx(), GetDateAcct(), dt.GetDocBaseType())) { _processMsg = "@PeriodClosed@"; return(false); } // is Non Business Day? if (MNonBusinessDay.IsNonBusinessDay(GetCtx(), GetDateAcct())) { _processMsg = VAdvantage.Common.Common.NONBUSINESSDAY; return(false); } //commented by arpit //if (!IsVA027_PaymentGenerated()) //{ // _processMsg = "Payment Not Generated Yet"; // Get_Trx().Rollback(); // return false; //} //end here if (GetC_Payment_ID() > 0) { MPayment pay = new MPayment(GetCtx(), GetC_Payment_ID(), Get_Trx()); if (pay.GetDocStatus() != "RE" && pay.GetDocStatus() != "VO") { _processMsg = Msg.GetMsg(GetCtx(), "VA027_PaymentNotVoid"); Get_Trx().Rollback(); return(false); } } MVA027PostDatedCheck reversal = new MVA027PostDatedCheck(GetCtx(), 0, Get_Trx()); CopyValues(this, reversal); reversal.SetClientOrg(this); reversal.SetVA027_PayAmt(Decimal.Negate(reversal.GetVA027_PayAmt())); reversal.SetDocumentNo(GetDocumentNo() + REVERSE_INDICATOR); if (!string.IsNullOrEmpty(GetVA027_CheckNo())) { reversal.SetVA027_CheckNo(GetVA027_CheckNo() + REVERSE_INDICATOR); } reversal.SetDocStatus(DOCSTATUS_Drafted); reversal.SetDocAction(DOCACTION_Complete); reversal.SetProcessed(false); reversal.SetProcessing(false); reversal.SetPosted(false); reversal.SetVA027_Description(GetVA027_Description()); reversal.AddDescription("{->" + GetDocumentNo() + ")"); if (reversal.Save(Get_Trx())) { DataSet ds = new DataSet(); ds = DB.ExecuteDataset("Select * from VA027_CHEQUEDETAILS Where VA027_PostDatedCheck_ID=" + GetVA027_PostDatedCheck_ID(), null, Get_Trx()); if (ds != null && ds.Tables[0].Rows.Count > 0) { for (Int32 i = 0; i < ds.Tables[0].Rows.Count; i++) { MVA027ChequeDetails original = new MVA027ChequeDetails(GetCtx(), Util.GetValueOfInt(ds.Tables[0].Rows[i]["VA027_CHEQUEDETAILS_ID"]), Get_Trx()); MVA027ChequeDetails cd = new MVA027ChequeDetails(GetCtx(), 0, Get_Trx()); if (original.GetC_Payment_ID() > 0) { MPayment payment = new MPayment(GetCtx(), original.GetC_Payment_ID(), Get_Trx()); if (payment.GetDocStatus() != "RE" && payment.GetDocStatus() != "VO") { _processMsg = Msg.GetMsg(GetCtx(), "VA027_PaymentNotVoid"); Get_Trx().Rollback(); return(false); } } cd.SetAD_Client_ID(original.GetAD_Client_ID()); cd.SetAD_Org_ID(original.GetAD_Org_ID()); cd.SetVA027_AccountName(original.GetVA027_AccountName()); cd.SetLineNo(original.GetLineNo()); cd.SetVA027_PostDatedCheck_ID(reversal.GetVA027_PostDatedCheck_ID()); cd.SetVA027_AccountNo(original.GetVA027_AccountNo()); cd.SetVA027_CheckDate(original.GetVA027_CheckDate()); cd.SetVA027_CheckNo(original.GetVA027_CheckNo() + REVERSE_INDICATOR); cd.SetVA027_ChequeAmount(Decimal.Negate(original.GetVA027_ChequeAmount())); cd.SetVA027_MICR(original.GetVA027_MICR()); cd.SetVA027_PaymentStatus("3"); cd.SetVA027_ValidMonth(original.GetVA027_ValidMonth()); cd.SetProcessed(true); cd.Save(Get_Trx()); } } } if (!reversal.ProcessIt(DocActionVariables.ACTION_COMPLETE)) { _processMsg = "Reversal ERROR: " + reversal.GetProcessMsg(); return(false); } reversal.CloseIt(); _processMsg = reversal.GetDocumentNo(); reversal.SetVA027_PaymentStatus("3"); reversal.SetDocStatus(DOCSTATUS_Reversed); reversal.SetDocAction(DOCACTION_None); reversal.Save(Get_Trx()); this.AddDescription("(" + GetDocumentNo() + "<-)"); SetDocStatus(DOCSTATUS_Reversed); SetDocAction(DOCACTION_None); SetProcessed(true); } catch (Exception ex) { log.Severe(ex.ToString()); log.Severe("Error in Reverse."); } return(true); }