/// <summary>
        /// Retrieve unpaid invoice dept summary information list of specific screen mode and search criteria information
        /// </summary>
        /// <param name="data">Search criteria from link</param>
        /// <returns></returns>
        public ActionResult ICS030_LoadGetUnpaidInvoiceDebtSummaryByBillingTargetData(ICS030_RegisterData data)
        {
            ICS030_ScreenParameter param = GetScreenObject <ICS030_ScreenParameter>();
            ObjectResultData       res   = new ObjectResultData();

            res.MessageType = MessageModel.MESSAGE_TYPE.WARNING;
            List <doGetUnpaidInvoiceDebtSummaryByBillingTarget> _doGetUnpaidInvoiceDebtSummaryByBillingTargetList = new List <doGetUnpaidInvoiceDebtSummaryByBillingTarget>();

            try
            {
                if (param != null)
                {
                    data.intMonth = data.RawdtpMonthYear.Month;
                    data.intYear  = data.RawdtpMonthYear.Year;

                    CommonUtil     comUtil        = new CommonUtil();
                    IIncomeHandler iincomeHandler = ServiceContainer.GetService <IIncomeHandler>() as IIncomeHandler;
                    _doGetUnpaidInvoiceDebtSummaryByBillingTargetList = iincomeHandler.GetUnpaidInvoiceDebtSummaryByBillingTargetList(
                        comUtil.ConvertContractCode(data.strBillingTargetCode, CommonUtil.CONVERT_TYPE.TO_LONG), data.strOfficeCode); //Add (strOfficeCode) by Jutarat A. on 10042014

                    if (_doGetUnpaidInvoiceDebtSummaryByBillingTargetList != null)
                    {
                        foreach (var item in _doGetUnpaidInvoiceDebtSummaryByBillingTargetList)
                        {
                            if (item.TracingResultRegisteredString == "Yes")
                            {
                                item.DebtTracingRegisteredGridFormat = param.conYes;
                            }
                            else
                            {
                                item.DebtTracingRegisteredGridFormat = param.conNo;
                            }

                            if (item.IncludeFirstFee == 1)
                            {
                                item.IncludeFirstFeeGridFormat = param.conYes;
                            }
                            else
                            {
                                item.IncludeFirstFeeGridFormat = param.conNo;
                            }
                        }
                    }

                    // Save RegisterData in session
                    param.RegisterData = data;
                }
            }
            catch (Exception ex)
            {
                res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION;
                res.AddErrorMessage(ex);
                return(Json(res));
            }
            res.ResultData = CommonUtil.ConvertToXml <doGetUnpaidInvoiceDebtSummaryByBillingTarget>(_doGetUnpaidInvoiceDebtSummaryByBillingTargetList, "Income\\ICS030_ListOfUnPaidInvoiceByBillingTarget", CommonUtil.GRID_EMPTY_TYPE.VIEW);
            return(Json(res));
        }