示例#1
0
        /// <summary>
        /// Retrieve billing detail list of specific receipt no.
        /// </summary>
        /// <param name="receiptNo">receipt no.</param>
        /// <returns></returns>
        public ActionResult ICS081_SearchBillingbyReceiptNo(string receiptNo)
        {
            ObjectResultData res = new ObjectResultData();

            res.MessageType = MessageModel.MESSAGE_TYPE.WARNING;
            ValidatorUtil validator = new ValidatorUtil();

            try
            {
                //Validate business
                if (CommonUtil.IsNullOrEmpty(receiptNo))
                {
                    validator.AddErrorMessage(MessageUtil.MODULE_INCOME, "ICS081"
                                              , MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0007
                                              , "ics081ReceiptNo", "lblReceiptNo", "ics081ReceiptNo");
                    ValidatorUtil.BuildErrorMessage(res, validator, null);
                    return(Json(res));
                }

                var handler = ServiceContainer.GetService <IIncomeHandler>() as IIncomeHandler;

                //Get receipt
                doReceipt doReceipt = handler.GetReceipt(receiptNo);
                if (doReceipt == null)
                {
                    validator.AddErrorMessage(MessageUtil.MODULE_INCOME, "ICS081"
                                              , MessageUtil.MODULE_INCOME, MessageUtil.MessageList.MSG7003
                                              , "ics081ReceiptNo", "lblReceiptNo", "ics081ReceiptNo");
                    ValidatorUtil.BuildErrorMessage(res, validator, null);
                    res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION;
                    return(Json(res));
                }

                //Get unpaid, return result
                List <doGetUnpaidBillingTargetByCodeWithExchange> unpaidList = handler.GetUnpaidBillingTargetByReceiptNoWithExchange(receiptNo);
                ICS081_ValidateDisplayBillingTargetSearchResult(res, unpaidList, true);
                res.ResultData = CommonUtil.ConvertToXml <doGetUnpaidBillingTargetByCodeWithExchange>(unpaidList, "Income\\ICS081", CommonUtil.GRID_EMPTY_TYPE.SEARCH);
                return(Json(res));
            }
            catch (Exception ex)
            {
                res             = new ObjectResultData();
                res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION;
                res.AddErrorMessage(ex);
                return(Json(res));
            }
        }
示例#2
0
        public ActionResult ICR010_GenerateReport(string receiptNo)
        {
            ObjectResultData       res              = new ObjectResultData();
            IIncomeHandler         incomeHandler    = ServiceContainer.GetService <IIncomeHandler>() as IIncomeHandler;
            IIncomeDocumentHandler incomeDocHandler = ServiceContainer.GetService <IIncomeDocumentHandler>() as IIncomeDocumentHandler;

            try
            {
                doReceipt receiptData = incomeHandler.GetReceipt(receiptNo);
                if (receiptData != null)
                {
                    incomeDocHandler.GenerateICR010FilePath(receiptData.ReceiptNo, receiptData.CreateBy, receiptData.CreateDate.Value);
                }
            }
            catch (Exception ex)
            {
                res.AddErrorMessage(ex);
            }

            return(Json(res));
        }
示例#3
0
        /// <summary>
        /// Validate business of receipt information
        /// </summary>
        /// <param name="receipt"></param>
        /// <param name="validator"></param>
        private void ICS010_ValidateReceiptBusiness(doReceipt receipt, ValidatorUtil validator)
        {
            if (receipt == null)
            {
                return;
            }
            if (validator == null)
            {
                validator = new ValidatorUtil();
            }

            if (receipt.AdvanceReceiptStatus.Equals(AdvanceReceiptStatus.C_INC_ADVANCE_RECEIPT_STATUS_NOT))
            {
                validator.AddErrorMessage(MessageUtil.MODULE_INCOME, MessageUtil.MessageList.MSG7004
                                          , "RefAdvanceReceiptNo", new string[] { receipt.ReceiptNo });
            }
            else if (receipt.AdvanceReceiptStatus.Equals(AdvanceReceiptStatus.C_INC_ADVANCE_RECEIPT_STATUS_REGISTERED) ||
                     receipt.AdvanceReceiptStatus.Equals(AdvanceReceiptStatus.C_INC_ADVANCE_RECEIPT_STATUS_PAID))
            {
                validator.AddErrorMessage(MessageUtil.MODULE_INCOME, MessageUtil.MessageList.MSG7005
                                          , "RefAdvanceReceiptNo", new string[] { receipt.ReceiptNo });
            }
        }
示例#4
0
        /// <summary>
        /// Validate business for receipt information of specific receipt no.
        /// </summary>
        /// <param name="param">receipt no.</param>
        /// <param name="res"></param>
        /// <returns></returns>
        private doReceipt ICS060_ValidateReceiptBusiness(ICS060_ScreenParameter param, ObjectResultData res)
        {
            ValidatorUtil validator = new ValidatorUtil();

            //Validate model
            ValidatorUtil.BuildErrorMessage(res, this, new object[] { param });
            if (res.IsError)
            {
                return(null);
            }


            //Get receipt Data
            var       incomeHandler = ServiceContainer.GetService <IIncomeHandler>() as IIncomeHandler;
            doReceipt doReceipt     = incomeHandler.GetReceiptIncludeCancel(param.ReceiptNo);

            // add by jirawat jannet @ 2016-10-20
            #region Set currency

            if (doReceipt.ReceiptAmountCurrencyType == CurrencyUtil.C_CURRENCY_US)
            {
                doReceipt.ReceiptAmount = doReceipt.ReceiptAmountUsd;
            }
            if (doReceipt.VatAmountCurrencyType == CurrencyUtil.C_CURRENCY_US)
            {
                doReceipt.VATAmount = doReceipt.VatAmountUsd;
            }
            if (doReceipt.WHTAmountCurrencyType == CurrencyUtil.C_CURRENCY_US)
            {
                doReceipt.WHTAmount = doReceipt.WHTAmountUsd;
            }

            #endregion

            if (doReceipt == null)
            {
                validator.AddErrorMessage(MessageUtil.MODULE_INCOME, "ICS060"
                                          , MessageUtil.MODULE_INCOME, MessageUtil.MessageList.MSG7003
                                          , "ReceiptNo", "lblReceiptNo", "ReceiptNo");
                ValidatorUtil.BuildErrorMessage(res, validator, null);
                res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION;
                return(null);
            }

            //Validate business
            if (doReceipt.CancelFlag == true)
            {
                validator.AddErrorMessage(MessageUtil.MODULE_INCOME, "ICS060"
                                          , MessageUtil.MODULE_INCOME, MessageUtil.MessageList.MSG7029
                                          , "");
                ValidatorUtil.BuildErrorMessage(res, validator, null);
                return(null);
            }

            //This receipt no. has been registered
            if (doReceipt.AdvanceReceiptStatus == AdvanceReceiptStatus.C_INC_ADVANCE_RECEIPT_STATUS_REGISTERED)
            {
                validator.AddErrorMessage(MessageUtil.MODULE_INCOME, "ICS060"
                                          , MessageUtil.MODULE_INCOME, MessageUtil.MessageList.MSG7109
                                          , "");
                ValidatorUtil.BuildErrorMessage(res, validator, null);
                return(null);
            }

            //Success
            return(doReceipt);
        }
示例#5
0
        /// <summary>
        /// Retrieve receipt information of specific screen mode and search criteria information
        /// </summary>
        /// <param name="data">Search criteria</param>
        /// <returns></returns>
        public ActionResult ICS100_RetrieveData(ICS100_RegisterData data)
        {
            ICS100_ScreenParameter param        = GetScreenObject <ICS100_ScreenParameter>();
            ICS100_RegisterData    RegisterData = new ICS100_RegisterData();
            CommonUtil             comUtil      = new CommonUtil();

            ObjectResultData res = new ObjectResultData();

            res.MessageType = MessageModel.MESSAGE_TYPE.WARNING;

            ValidatorUtil validator = new ValidatorUtil();

            try
            {
                IIncomeHandler incomeHandler = ServiceContainer.GetService <IIncomeHandler>() as IIncomeHandler;
                ICommonHandler handlerCommon = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler;

                doReceipt _doReceipt = new doReceipt();
                List <tbt_MoneyCollectionInfo> _dotbt_MoneyCollectionInfoList = new List <tbt_MoneyCollectionInfo>();

                // Check System Suspend
                if (handlerCommon.IsSystemSuspending())
                {
                    res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0049);
                    return(Json(res));
                }

                res.MessageType = MessageModel.MESSAGE_TYPE.WARNING;
                ICS100_ScreenParameter sParam = GetScreenObject <ICS100_ScreenParameter>();

                if (data == null)
                {
                    validator.AddErrorMessage(MessageUtil.MODULE_INCOME,
                                              "ICS100",
                                              MessageUtil.MODULE_COMMON,
                                              MessageUtil.MessageList.MSG0007,
                                              "txtReceiptNo", "lblReceiptNo", "txtReceiptNo");
                }
                if (data.Header == null)
                {
                    validator.AddErrorMessage(MessageUtil.MODULE_INCOME,
                                              "ICS100",
                                              MessageUtil.MODULE_COMMON,
                                              MessageUtil.MessageList.MSG0007,
                                              "txtReceiptNo", "lblReceiptNo", "txtReceiptNo");
                }

                /////////////////////////////////////////////////////////////////////
                if (String.IsNullOrEmpty(data.Header.txtReceiptNo))
                {
                    validator.AddErrorMessage(MessageUtil.MODULE_INCOME,
                                              "ICS100",
                                              MessageUtil.MODULE_COMMON,
                                              MessageUtil.MessageList.MSG0007,
                                              "txtReceiptNo", "lblReceiptNo", "txtReceiptNo");
                }

                ValidatorUtil.BuildErrorMessage(res, validator, null);
                if (res.IsError)
                {
                    return(Json(res));
                }
                //--------------------------------------------------------------

                param._dotbt_MoneyCollectionInfo = null;
                param.doReceipt = null;

                _doReceipt = incomeHandler.GetReceipt(data.Header.txtReceiptNo);
                if (_doReceipt == null)
                {
                    //MSG7003
                    res.AddErrorMessage(MessageUtil.MODULE_INCOME,
                                        "ICS100",
                                        MessageUtil.MODULE_INCOME,
                                        MessageUtil.MessageList.MSG7003,
                                        new string[] { "lblReceiptNo" },
                                        new string[] { "txtReceiptNo" });
                    res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION;
                    return(Json(res));
                }
                else
                {
                    if (_doReceipt.AdvanceReceiptStatus != AdvanceReceiptStatus.C_INC_ADVANCE_RECEIPT_STATUS_ISSUED)
                    {
                        //MSG7028
                        res.AddErrorMessage(MessageUtil.MODULE_INCOME,
                                            "ICS100",
                                            MessageUtil.MODULE_INCOME,
                                            MessageUtil.MessageList.MSG7028,
                                            new string[] { data.Header.txtReceiptNo },
                                            new string[] { "txtReceiptNo" });
                        return(Json(res));
                    }
                    _dotbt_MoneyCollectionInfoList = incomeHandler.GetTbt_MoneyCollectionInfo(data.Header.txtReceiptNo);
                }
                if (_dotbt_MoneyCollectionInfoList != null)
                {
                    if (_dotbt_MoneyCollectionInfoList.Count > 0)
                    {
                        param._dotbt_MoneyCollectionInfo = _dotbt_MoneyCollectionInfoList[0];
                    }
                }

                param.doReceipt = _doReceipt;

                // return "1" to js is every thing OK
                if (res.MessageList == null || res.MessageList.Count == 0)
                {
                    res.ResultData = sParam;
                }
                else
                {
                    res.ResultData = null;
                }
            }
            catch (Exception ex)
            {
                res.AddErrorMessage(ex);
            }

            return(Json(res));
        }