/// <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)); }