Beispiel #1
0
        /// <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"));
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }