Beispiel #1
0
        //ICP010

        /// <summary>
        /// Force issue a receipt for unpaid invoice.
        /// </summary>
        /// <param name="doInvoice"></param>
        /// <param name="taxInvoiceDate"></param>
        /// <param name="batchId"></param>
        /// <param name="batchDate"></param>
        /// <returns></returns>
        public tbt_TaxInvoice IssueTaxInvoice(doInvoice doInvoice, DateTime taxInvoiceDate, string batchId, DateTime batchDate)
        {
            string runningNo = this.GetNextRunningNoByTypeMonthYear(RunningType.C_RUNNING_TYPE_TAX_INVOICE, batchId, taxInvoiceDate /*batchDate*/); //Edit by Patcharee T. For issue Tax invoice no. in month of taxInvoiceDate

            //Determin receipt issue flag
            bool receiptIssueFlag = doInvoice.IssueReceiptTiming == IssueRecieptTime.C_ISSUE_REC_TIME_NOT_ISSUE ? false : true;

            tbt_TaxInvoice doTaxInvoice = new tbt_TaxInvoice()
            {
                TaxInvoiceNo           = runningNo,
                InvoiceNo              = doInvoice.InvoiceNo,
                InvoiceOCC             = (int?)doInvoice.InvoiceOCC,
                ReceiptNo              = null,
                TaxInvoiceDate         = taxInvoiceDate,
                TaxInvoiceCanceledFlag = false,
                TaxInvoiceIssuedFlag   = receiptIssueFlag,
                CreateDate             = batchDate,
                CreateBy   = batchId,
                UpdateDate = batchDate,
                UpdateBy   = batchId
            };
            List <tbt_TaxInvoice> doTaxInvoices = new List <tbt_TaxInvoice>();

            doTaxInvoices.Add(doTaxInvoice);
            List <tbt_TaxInvoice> result = this.InsertTbt_TaxInvoice(CommonUtil.ConvertToXml_Store <tbt_TaxInvoice>(doTaxInvoices));

            if (result != null && result.Count > 0)
            {
                //success
                return(result[0]);
            }
            //no insert data
            return(null);
        }
Beispiel #2
0
        /// <summary>
        /// Function for checking that whether tax invoice has been issued for the invoice.
        /// </summary>
        /// <param name="doInvoice"></param>
        /// <returns></returns>
        public bool CheckTaxInvoiceIssued(doInvoice doInvoice)
        {
            ObjectParameter paramIsIssued = new ObjectParameter("IsIssued", false);

            base.CheckTaxInvoiceIssued(doInvoice.InvoiceNo, doInvoice.InvoiceOCC, paramIsIssued);
            bool isIssued = Convert.ToBoolean(paramIsIssued.Value);

            return(isIssued);
        }
Beispiel #3
0
        //ICS040

        /// <summary>
        /// Register billing exemption by updating payment status to invoice and billing detail.
        /// </summary>
        /// <param name="doInvoiceExemption"></param>
        /// <returns></returns>
        public bool RegisterInvoiceExemption(doInvoice doInvoiceExemption)
        {
            if (doInvoiceExemption == null)
            {
                return(false);
            }

            //Invoice
            List <tbt_Invoice> result = base.RegisterInvoiceExemption(doInvoiceExemption.InvoiceNo, doInvoiceExemption.InvoiceOCC,
                                                                      PaymentStatus.C_PAYMENT_STATUS_BILLING_EXEMPTION, doInvoiceExemption.ExemptApproveNo,
                                                                      CommonUtil.dsTransData.dtUserData.EmpNo, CommonUtil.dsTransData.dtOperationData.ProcessDateTime);

            if (result == null || result.Count == 0)
            {
                return(false);
            }

            ILogHandler      logHand = ServiceContainer.GetService <ILogHandler>() as ILogHandler;
            doTransactionLog logData = new doTransactionLog()
            {
                TransactionType = doTransactionLog.eTransactionType.Update,
                TableName       = TableName.C_TBL_NAME_INVOICE,
                TableData       = null
            };

            logData.TableData = CommonUtil.ConvertToXml(result);
            logHand.WriteTransactionLog(logData);


            //Billing details
            if (doInvoiceExemption.Tbt_BillingDetails != null && doInvoiceExemption.Tbt_BillingDetails.Count > 0)
            {
                List <tbt_BillingDetail> billingDetailResult = base.RegisterBillingDetailExemption(doInvoiceExemption.InvoiceNo, doInvoiceExemption.InvoiceOCC,
                                                                                                   PaymentStatus.C_PAYMENT_STATUS_BILLING_EXEMPTION,
                                                                                                   CommonUtil.dsTransData.dtUserData.EmpNo, CommonUtil.dsTransData.dtOperationData.ProcessDateTime);

                if (billingDetailResult == null || billingDetailResult.Count == 0 ||
                    billingDetailResult.Count != billingDetailResult.Count)
                {
                    return(false);
                }

                logData = new doTransactionLog()
                {
                    TransactionType = doTransactionLog.eTransactionType.Update,
                    TableName       = TableName.C_TBL_NAME_INVOICE,
                    TableData       = null
                };
                logData.TableData = CommonUtil.ConvertToXml(billingDetailResult);
                logHand.WriteTransactionLog(logData);
            }


            //Success
            return(true);
        }
Beispiel #4
0
        /// <summary>
        /// Get invoice and billing detail of invoice
        /// </summary>
        /// <param name="invoiceNo"></param>
        /// <returns></returns>
        public doInvoice GetInvoice(string invoiceNo)
        {
            doInvoice invoice = base.GetInvoice(invoiceNo, CurrencyUtil.C_CURRENCY_LOCAL, CurrencyUtil.C_CURRENCY_US).FirstOrDefault();

            if (invoice != null)
            {
                invoice.Tbt_BillingDetails = GetTbt_BillingDetailOfInvoice(invoiceNo, invoice.InvoiceOCC);
            }
            return(invoice);
        }
Beispiel #5
0
        //ICS050

        /// <summary>
        /// To force issue tax invoice
        /// </summary>
        /// <param name="doInvoice"></param>
        /// <param name="taxInvoiceDate"></param>
        /// <returns></returns>
        public tbt_TaxInvoice ForceIssueTaxInvoice(doInvoice doInvoice, DateTime taxInvoiceDate)
        {
            string runningNo = this.GetNextRunningNoByTypeMonthYear(RunningType.C_RUNNING_TYPE_TAX_INVOICE
                                                                    , CommonUtil.dsTransData.dtUserData.EmpNo
                                                                    , taxInvoiceDate /*CommonUtil.dsTransData.dtOperationData.ProcessDateTime*/); //Edit by Patcharee T. For get Tax invoice no. in month of taxInvoiceDate 11-Jun-2013
            tbt_TaxInvoice doTaxInvoice = new tbt_TaxInvoice()
            {
                TaxInvoiceNo           = runningNo,
                InvoiceNo              = doInvoice.InvoiceNo,
                InvoiceOCC             = (int?)doInvoice.InvoiceOCC,
                ReceiptNo              = null,
                TaxInvoiceDate         = taxInvoiceDate,
                TaxInvoiceCanceledFlag = false,
                TaxInvoiceIssuedFlag   = true,
                CreateDate             = CommonUtil.dsTransData.dtOperationData.ProcessDateTime,
                CreateBy   = CommonUtil.dsTransData.dtUserData.EmpNo,
                UpdateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime,
                UpdateBy   = CommonUtil.dsTransData.dtUserData.EmpNo
            };

            //Modify by Jutarat A. on 30072013
            //List<tbt_TaxInvoice> doTaxInvoices = new List<tbt_TaxInvoice>();
            //doTaxInvoices.Add(doTaxInvoice);
            //List<tbt_TaxInvoice> result = this.InsertTbt_TaxInvoice(CommonUtil.ConvertToXml_Store<tbt_TaxInvoice>(doTaxInvoices));
            List <tbt_TaxInvoice> result = CreateTbt_TaxInvoice(doTaxInvoice);

            //End Modify

            if (result != null && result.Count > 0)
            {
                //success
                return(result[0]);
            }

            //no insert data
            return(null);
        }
Beispiel #6
0
        /// <summary>
        /// To update invoice correction reason
        /// </summary>
        /// <param name="doInvoice"></param>
        /// <param name="correctionReason"></param>
        /// <returns></returns>
        public bool UpdateInvoiceCorrectionReason(doInvoice doInvoice, string correctionReason)
        {
            List <tbt_Invoice> result = base.UpdateInvoiceCorrectionReason(doInvoice.InvoiceNo, (int?)doInvoice.InvoiceOCC, correctionReason
                                                                           , CommonUtil.dsTransData.dtUserData.EmpNo
                                                                           , CommonUtil.dsTransData.dtOperationData.ProcessDateTime
                                                                           );

            if (result != null && result.Count > 0)
            {
                ILogHandler      logHand = ServiceContainer.GetService <ILogHandler>() as ILogHandler;
                doTransactionLog logData = new doTransactionLog()
                {
                    TransactionType = doTransactionLog.eTransactionType.Update,
                    TableName       = TableName.C_TBL_NAME_INVOICE,
                    TableData       = CommonUtil.ConvertToXml(result)
                };
                logHand.WriteTransactionLog(logData);
                //Updated
                return(true);
            }

            //No updated data
            return(false);
        }