Пример #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);
        }
Пример #2
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);
        }