Esempio n. 1
0
        /// <summary>
        /// Retrieve flow menu data
        /// </summary>
        /// <param name="cond"></param>
        /// <returns></returns>
        public ActionResult RetrieveFlowMenu(FlowMenuCondition cond)
        {
            ObjectResultData res = new ObjectResultData();

            res.MessageType = MessageModel.MESSAGE_TYPE.WARNING;

            try
            {
                #region Validate required field

                ValidatorUtil.BuildErrorMessage(res, this);
                if (res.IsError == true)
                {
                    return(Json(res));
                }

                #endregion
                #region Get basic information

                FlowMenuScreenParameter param = GetScreenObject <FlowMenuScreenParameter>();
                if (param != null)
                {
                    IViewContractHandler chandler = ServiceContainer.GetService <IViewContractHandler>() as IViewContractHandler;

                    if (param.ScreenID == "CMS021")
                    {
                        List <doSaleContractDataForFlowMenu> lst = chandler.GetSaleContractDataForFlowMenu(cond.ContractCodeLong);
                        if (lst.Count == 0)
                        {
                            res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0124,
                                                null,
                                                new string[] { "ContractCode" });
                            res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION;
                            return(Json(res));
                        }

                        param.doSaleContractDataForFlowMenu = lst[0];
                        res.ResultData = param.doSaleContractDataForFlowMenu;
                    }
                    else
                    {
                        List <doRentalContractDataForFlowMenu> lst = chandler.GetRentalContractDataForFlowMenu(cond.ContractCodeLong);
                        if (lst.Count == 0)
                        {
                            res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0124,
                                                null,
                                                new string[] { "ContractCode" });
                            res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION;
                            return(Json(res));
                        }

                        param.doRentalContractDataForFlowMenu = lst[0];
                        res.ResultData = param.doRentalContractDataForFlowMenu;
                    }

                    param.Condition = cond;

                    #region Update search session in dsTrans

                    CommonUtil.dsTransData.dtCommonSearch.ContractCode = cond.ContractCode;

                    #endregion
                }

                #endregion
            }
            catch (Exception ex)
            {
                res.AddErrorMessage(ex);
            }

            return(Json(res));
        }