public HttpResponseMessage postSearch(MasterMenuGroupSearchView model) { try { var result = menuGroupSvc.Search(model); return(Request.CreateResponse(HttpStatusCode.OK, result)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.ToString())); } }
public CommonSearchView <MasterMenuGroupView> Search(MasterMenuGroupSearchView model) { using (var ctx = new ConXContext()) { //define model view CommonSearchView <MasterMenuGroupView> view = new ModelViews.CommonSearchView <ModelViews.MasterMenuGroupView>() { pageIndex = model.pageIndex - 1, itemPerPage = model.itemPerPage, totalItem = 0, datas = new List <ModelViews.MasterMenuGroupView>() }; //query data List <MenuFunctionGroup> MenuFunctionGroups = ctx.MenuFunctionGroups .Where(x => (x.menuFunctionGroupId.Contains(model.menuFunctionGroupId) || model.menuFunctionGroupId == "") && (x.menuFunctionGroupName.Contains(model.menuFunctionGroupName) || model.menuFunctionGroupName == "") ) .OrderBy(o => o.menuFunctionGroupId) .ToList(); //count , select data from pageIndex, itemPerPage view.totalItem = MenuFunctionGroups.Count; MenuFunctionGroups = MenuFunctionGroups.Skip(view.pageIndex * view.itemPerPage) .Take(view.itemPerPage) .ToList(); //prepare model to modelView foreach (var i in MenuFunctionGroups) { view.datas.Add(new ModelViews.MasterMenuGroupView() { menuFunctionGroupId = i.menuFunctionGroupId, menuFunctionGroupName = i.menuFunctionGroupName, iconName = i.iconName, orderDisplay = i.orderDisplay }); } //return data to contoller return(view); } }