/// <summary> /// Load Specific Document Details /// </summary> /// <returns>error message or null</returns> public override String LoadDocumentDetails() { MIncomeTax tax = (MIncomeTax)GetPO(); SetDateDoc(tax.GetDateTrx()); _lines = LoadLines(tax); log.Fine("Lines=" + _lines.Length); return(null); }
protected override string DoIt() { DB.ExecuteQuery("DELETE FROM C_IncomeTaxLines WHERE C_IncomeTax_ID=" + GetRecord_ID()); tax = new MIncomeTax(GetCtx(), GetRecord_ID(), Get_Trx()); //qry = "SELECT ct.Rate,ta.T_Due_Acct,ev.value,ev.name FROM C_IncomeTax tx INNER JOIN C_Tax ct ON (tx.C_Tax_ID=ct.C_Tax_ID) INNER JOIN C_Tax_Acct ta ON (tx.C_Tax_ID = ta.C_Tax_ID) inner join c_validCombination ac on(ta.T_Due_Acct=ac.c_validCombination_id) inner join C_elementvalue ev on(ac.Account_ID=ev.C_elementvalue_id) WHERE tx.C_IncomeTax_ID=" + GetRecord_ID() + " and tx.ad_client_id=" + GetAD_Client_ID(); qry = "SELECT ct.Rate,ta.IncomeSummary_Acct,ev.value,ev.name FROM C_IncomeTax tx INNER JOIN C_Tax ct ON (tx.C_Tax_ID=ct.C_Tax_ID) INNER JOIN C_AcctSchema_GL ta ON (tx.AD_Client_ID = ta.AD_Client_ID) inner join c_validCombination ac on(ta.IncomeSummary_Acct=ac.c_validCombination_id) inner join C_elementvalue ev on(ac.Account_ID=ev.C_elementvalue_id) WHERE tx.C_IncomeTax_ID=" + GetRecord_ID() + " and tx.ad_client_id=" + GetAD_Client_ID(); ds = DB.ExecuteDataset(qry, null, Get_Trx()); if (ds != null) { if (ds.Tables[0].Rows.Count > 0) { rate = Util.GetValueOfDecimal(ds.Tables[0].Rows[0]["Rate"]); taxAmount = tax.GetProfitBeforeTax() * rate / 100; acct_Comb = Util.GetValueOfInt(ds.Tables[0].Rows[0]["IncomeSummary_Acct"]); tLine = new MIncomeTaxLines(GetCtx(), 0, Get_Trx()); tLine.SetAD_Client_ID(GetAD_Client_ID()); tLine.SetAD_Org_ID(GetCtx().GetAD_Org_ID()); tLine.SetC_IncomeTax_ID(GetRecord_ID()); tLine.SetC_Tax_ID(tax.GetC_Tax_ID()); tLine.SetC_IncomeTax_Acct(acct_Comb); tLine.SetC_ProfitAndLoss_ID(tax.GetC_ProfitAndLoss_ID()); tLine.SetIncomeTaxAmount(taxAmount); tLine.SetLedgerCode(Util.GetValueOfString(ds.Tables[0].Rows[0]["value"])); tLine.SetLedgerName(Util.GetValueOfString(ds.Tables[0].Rows[0]["name"])); if (!tLine.Save()) { ds.Dispose(); return(GetRetrievedError(tLine, "TaxLinesNotSaved")); //return Msg.GetMsg(GetCtx(), "TaxLinesNotSaved"); } tax.SetIncomeTaxAmount(taxAmount); tax.SetProfitAfterTax(tax.GetProfitBeforeTax() - taxAmount); if (!tax.Save()) { ds.Dispose(); Rollback(); return(GetRetrievedError(tax, "TaxNotSaved")); //return Msg.GetMsg(GetCtx(), "TaxNotSaved"); } ds.Dispose(); return(Msg.GetMsg(GetCtx(), "LinesGenerated")); } } return(Msg.GetMsg(GetCtx(), "RecordNotFound")); }
private DocLine[] LoadLines(MIncomeTax tax) { List <DocLine> list = new List <DocLine>(); MIncomeTaxLines[] lines = tax.GetLines(false); for (int i = 0; i < lines.Length; i++) { MIncomeTaxLines line = lines[i]; DocLine docLine = new DocLine(line, this); //docLine.SetAmount(line.GetIncomeTaxAmount()); // list.Add(docLine); } // Return Array DocLine[] dls = new DocLine[list.Count]; dls = list.ToArray(); return(dls); }
private DocLine[] LoadLines(MIncomeTax tax) { List <DocLine> list = new List <DocLine>(); MIncomeTaxLines[] lines = tax.GetLines(false); for (int i = 0; i < lines.Length; i++) { MIncomeTaxLines line = lines[i]; DocLine docLine = new DocLine(line, this); //docLine.SetAmount(line.GetIncomeTaxAmount()); // set primary key value docLine.SetPrimaryKeyValue(line.GetC_IncomeTaxLines_ID()); // set GL journal line table ID docLine.SetLineTable_ID(line.Get_Table_ID()); // list.Add(docLine); } // Return Array DocLine[] dls = new DocLine[list.Count]; dls = list.ToArray(); return(dls); }