public FSerListResult GetListWithPaging(WCFAuthInfoVM entity_WCFAuthInfoVM, FunctionVM entity_SearchCriteria, int int_CurrentPage, int int_PageSize, string str_SortColumn, string str_SortDir, List <string> str_CustomFilter) { FSerListResult ret = null; ret = _client.GetListWithPaging(entity_WCFAuthInfoVM, entity_SearchCriteria, int_CurrentPage, int_PageSize, str_SortColumn, str_SortDir, str_CustomFilter); return(ret); }
public ActionResult Index(int page = 1, string sort = "", string sortDir = "") { //Message Box Title -- When Error occured, Message Box would be showed. string str_MsgBoxTitle = MultilingualHelper.GetStringFromResource(languageKey, "FManage"); //Define output variable(recordCount && entityList_Result) int recordCount = 0; FunctionVM selectionCriteria = new FunctionVM(); GetSelectionCriteriaFromViewData(ref selectionCriteria); List <FunctionVM> entityList_Result = new List <FunctionVM>(); //Define wcf output object; FSerListResult entity_FSerListResult = null; WebCommonHelper webCommonHelper = new WebCommonHelper(); webCommonHelper.CallWCFHelper(this, (entity_WCFAuthInfoVM) => { entity_FSerListResult = funMgtHelper.Value.GetListWithPaging(entity_WCFAuthInfoVM, selectionCriteria, page, PageSize, sort, sortDir, CustomFilter(selectionCriteria)); }); //Assign data to local variable if (entity_FSerListResult != null) { recordCount = entity_FSerListResult.Int_TotalRecordCount; entityList_Result = entity_FSerListResult.EntityList_FunctionVM; } //Set paging bar info (Total Record Count and Page Index) StorePageInfo(recordCount, page); //Cache selection criteria StoreSelectionCriteria <FunctionVM>(null); //Pass Error To UI string strError = ""; if (entity_FSerListResult.StrList_Error.Count() > 0) { strError = string.Join("<br/>", entity_FSerListResult.StrList_Error.ToArray()); } if (entity_FSerListResult.StrList_Error.Count > 0) { MsgInfo errorMsgInfo = new MsgInfo(); errorMsgInfo.MsgTitle = str_MsgBoxTitle; errorMsgInfo.MsgDesc = strError; errorMsgInfo.MsgType = MessageType.ValidationError; ViewBag.ActionMessage = errorMsgInfo; } return(View(entityList_Result)); }
public FSerListResult GetListWithPaging(WCFAuthInfoVM entity_WCFAuthInfoVM, FunctionVM entity_SearchCriteria, int int_CurrentPage, int int_PageSize, string str_SortColumn, string str_SortDir, List <string> str_CustomFilter) { try { //Restore Server Session RetrieveServerSideSession(entity_WCFAuthInfoVM); bool ret_CheckPrivilege = false; List <string> strList_Error = new List <string>(); FSerListResult returnResult = new FSerListResult(); CoolPrivilegeControlContext dbContext = CoolPrivilegeControlContext.CreateContext(); FunctionRespository entityRepos_F = new FunctionRespository(dbContext, entity_BaseSession.ID); #region [ Check Privilege ] ret_CheckPrivilege = CheckAccPrivilege(entity_BaseSession.ID, entity_WCFAuthInfoVM.RequestFunKey, entity_WCFAuthInfoVM.RequestFunTypeKey, ref strList_Error); #endregion bool allowEdit = entity_BaseSession.CheckAccessRight(entity_WCFAuthInfoVM.RequestFunKey, "Edit", "", null); bool allowDel = entity_BaseSession.CheckAccessRight(entity_WCFAuthInfoVM.RequestFunKey, "Delete", "", null); returnResult.StrList_Error = strList_Error; returnResult.Int_TotalRecordCount = 0; returnResult.EntityList_FunctionVM = new List <FunctionVM>(); if (ret_CheckPrivilege) { int recordCount = 0; if (entity_SearchCriteria == null) { entity_SearchCriteria = new FunctionVM(); } if (!string.IsNullOrWhiteSpace(entity_SearchCriteria.FunctionPath) && str_CustomFilter.Count == 0) { str_CustomFilter.Add(String.Format("{0}.StartsWith(\"{1}\")", "F_Path", entity_SearchCriteria.FunctionPath)); } if (!string.IsNullOrWhiteSpace(entity_SearchCriteria.FunctionPath) && str_CustomFilter.Count == 0) { str_CustomFilter.Add(String.Format("{0}.StartsWith(\"{1}\")", "F_Key", entity_SearchCriteria.FunctionKey)); } List <FunctionVM> vmList = entityRepos_F.GetEntityListByPage(entity_SearchCriteria, int_CurrentPage, int_PageSize, str_SortColumn, str_SortDir, out recordCount, str_CustomFilter, (entityList) => { if (!string.IsNullOrWhiteSpace(entity_SearchCriteria.FunctionName)) { entityList = entityList.Where(current => MultilingualHelper.GetStringFromResource(languageKey, current.F_Key).ToUpper().StartsWith(entity_SearchCriteria.FunctionName.ToUpper())).ToList(); } return(entityList); }, (entityList_VM) => { List <FunctionVM> ret = new List <FunctionVM>(); if (!string.IsNullOrWhiteSpace(str_SortColumn)) { if (str_SortColumn.ToLower() == "functionpath") { if (str_SortDir.ToLower() == "asc") { entityRepos_F.SortFunctionByPath(ret, entityList_VM, "ASC"); } else { entityRepos_F.SortFunctionByPath(ret, entityList_VM, "Desc"); } } else { ret = entityList_VM; } } else { entityRepos_F.SortFunctionByPath(ret, entityList_VM, "ASC"); } return(ret); }, (entityList_VM) => { foreach (var item in entityList_VM) { if (!string.IsNullOrWhiteSpace(MultilingualHelper.GetStringFromResource(languageKey, item.FunctionKey))) { item.FunctionName = MultilingualHelper.GetStringFromResource(languageKey, item.FunctionKey); } item.AllowDel = allowDel; item.AllowEdit = allowEdit; } return(entityList_VM); }); returnResult.EntityList_FunctionVM = vmList; returnResult.Int_TotalRecordCount = recordCount; } return(returnResult); } catch (Exception ex) { throw new WebFaultException <WCFErrorContract>(new WCFErrorContract(ex), System.Net.HttpStatusCode.ExpectationFailed); } }