Beispiel #1
0
        /// <summary>
        /// Retrieve billing detail list of inputted advance search criteria.
        /// </summary>
        /// <param name="doSearch">advance search criteria information</param>
        /// <returns></returns>
        public ActionResult ICS081_SearchBillingByCriteria(ICS081_UnpaidBillingTargetSearchCriteria doSearch)
        {
            ObjectResultData res = new ObjectResultData();

            res.MessageType = MessageModel.MESSAGE_TYPE.WARNING;

            try
            {
                //Validate Model
                ValidatorUtil.BuildErrorMessage(res, this, new object[] { doSearch });
                if (res.IsError)
                {
                    return(Json(res));
                }

                //Validate Business
                ValidatorUtil validator = new ValidatorUtil();
                ICS081_ValidateSearchBillingByCriteria(validator, doSearch);
                ValidatorUtil.BuildErrorMessage(res, validator, null);
                if (res.IsError)
                {
                    return(Json(res));
                }

                //Get Data
                IIncomeHandler handler = ServiceContainer.GetService <IIncomeHandler>() as IIncomeHandler;
                List <doGetUnpaidBillingTargetByCodeWithExchange> unpaidList = handler.SearchUnpaidBillingTargetWithExchange(doSearch);
                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));
            }
        }