public CommonSearchView <MasterMenuView> Search(MasterMenuSearchView model) { using (var ctx = new ConXContext()) { //define model view CommonSearchView <MasterMenuView> view = new ModelViews.CommonSearchView <ModelViews.MasterMenuView>() { pageIndex = model.pageIndex - 1, itemPerPage = model.itemPerPage, totalItem = 0, datas = new List <ModelViews.MasterMenuView>() }; //query data //List<su_menu> menu = ctx.menu // .Where(x => (x.MENU_ID.Contains(model.menuFunctionId) || model.menuFunctionId == "") // && (x.MENU_NAME.Contains(model.menuFunctionName) || model.menuFunctionName == "") // && (x.MENU_ID.Contains("MOB")) // ) // .OrderBy(o => o.MENU_ID) // .ToList(); string sql = "select menu_id, menu_name , menu_type, link_name , main_menu , icon_name from su_menu where menu_id like '%'||:p_menu_id||'%' and menu_name like '%'||:p_menu_name||'%' and menu_id like 'MOB%' order by menu_id"; List <menuView> menu = ctx.Database.SqlQuery <menuView>(sql, new OracleParameter("p_menu_id", model.menuFunctionId), new OracleParameter("p_menu_name", model.menuFunctionName)).ToList(); //count , select data from pageIndex, itemPerPage view.totalItem = menu.Count; menu = menu.Skip(view.pageIndex * view.itemPerPage) .Take(view.itemPerPage) .ToList(); //prepare model to modelView foreach (var i in menu) { view.datas.Add(new ModelViews.MasterMenuView() { menuFunctionId = i.menu_id, menuFunctionGroupId = i.main_menu, menuFunctionName = i.menu_name, iconName = i.icon_name, menuURL = i.link_name, }); } //return data to contoller return(view); } }
public HttpResponseMessage postSearch(MasterMenuSearchView model) { try { var result = menuSvc.Search(model); return(Request.CreateResponse(HttpStatusCode.OK, result)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.ToString())); } }
public CommonSearchView <MasterMenuView> Search(MasterMenuSearchView model) { using (var ctx = new ConXContext()) { //define model view CommonSearchView <MasterMenuView> view = new ModelViews.CommonSearchView <ModelViews.MasterMenuView>() { pageIndex = model.pageIndex - 1, itemPerPage = model.itemPerPage, totalItem = 0, datas = new List <ModelViews.MasterMenuView>() }; //query data List <MenuFunction> MenuFunctions = ctx.MenuFunctions .Where(x => (x.menuFunctionGroupId.Contains(model.menuFunctionGroupId) || model.menuFunctionGroupId == "") && (x.menuFunctionId.Contains(model.menuFunctionId) || model.menuFunctionId == "") && (x.menuFunctionName.Contains(model.menuFunctionName) || model.menuFunctionName == "") ) .OrderBy(o => o.menuFunctionGroupId) .ToList(); //count , select data from pageIndex, itemPerPage view.totalItem = MenuFunctions.Count; MenuFunctions = MenuFunctions.Skip(view.pageIndex * view.itemPerPage) .Take(view.itemPerPage) .ToList(); //prepare model to modelView foreach (var i in MenuFunctions) { view.datas.Add(new ModelViews.MasterMenuView() { menuFunctionId = i.menuFunctionId, menuFunctionGroupId = i.menuFunctionGroupId, menuFunctionName = i.menuFunctionName, iconName = i.iconName, menuURL = i.menuURL, orderDisplay = i.orderDisplay }); } //return data to contoller return(view); } }