public static object SaveDistination(Distination scParam) { object data = new { }; Distination item = new Distination(); item.DistinationID = scParam.DistinationID; item.DistinationNameEn = scParam.DistinationNameEn; item.DistinationNameAr = scParam.DistinationNameAr; bool status = new DistnationsManager().SaveDistination(item); if ((item.DistinationNameEn != null && item.DistinationNameAr != null) || status) { HttpContext.Current.Cache.Remove("Distinations"); data = new { Status = true, Message = Resources.AdminResources_ar.SuccessSave }; } else { data = new { Status = false, Message = Resources.AdminResources_ar.ErrorSave } }; return(data); } #endregion }
public static object GetDistinations() { jQueryDataTableParamModel param = new jQueryDataTableParamModel(); HttpContext Context = HttpContext.Current; param.sEcho = String.IsNullOrEmpty(Context.Request["sEcho"]) ? 0 : Convert.ToInt32(Context.Request["sEcho"]); param.sSearch = String.IsNullOrEmpty(Context.Request["sSearch"]) ? "" : Context.Request["sSearch"]; param.iDisplayStart = String.IsNullOrEmpty(Context.Request["iDisplayStart"]) ? 0 : Convert.ToInt32(Context.Request["iDisplayStart"]); param.iDisplayLength = String.IsNullOrEmpty(Context.Request["iDisplayLength"]) ? 0 : Convert.ToInt32(Context.Request["iDisplayLength"]); var sortColumnIndex = Convert.ToInt32(Context.Request["iSortCol_0"]); var sortDirection = Context.Request["sSortDir_0"]; // asc or desc List <Distinations_SelectRowResult> categoryList = new List <Distinations_SelectRowResult>(); IEnumerable <Distinations_SelectRowResult> filtereDistinations; if (HttpContext.Current.Cache["Distinations"] == null) { categoryList = new DistnationsManager().GetDistinations(""); HttpContext.Current.Cache.Insert("Distinations", categoryList, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(10)); } else { categoryList = HttpContext.Current.Cache["Distinations"] as List <Distinations_SelectRowResult>; } categoryList = new DistnationsManager().GetDistinations(""); HttpContext.Current.Cache.Insert("Distinations", categoryList, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(10)); // check for search param if (!String.IsNullOrEmpty(param.sSearch)) { filtereDistinations = categoryList.Where(c => c.DistinationNameEn.ToLower().Contains(param.sSearch.ToLower()) || c.DistinationNameAr.ToLower().Contains(param.sSearch.ToLower())); } else { filtereDistinations = categoryList; } // handle asc and desc operation Func <Distinations_SelectRowResult, string> orderingFunction = (c => sortColumnIndex == 1 ? c.DistinationNameEn : sortColumnIndex == 2 ? c.DistinationNameAr : c.DistinationID.ToString()); if (sortDirection == "asc") { filtereDistinations = filtereDistinations.OrderBy(orderingFunction); } else { filtereDistinations = filtereDistinations.OrderByDescending(orderingFunction); } //paginate our result var result = filtereDistinations.Select(c => new { DistinationID = c.DistinationID, DistinationNameEn = c.DistinationNameEn, DistinationNameAr = c.DistinationNameAr }).Skip(param.iDisplayStart).Take(param.iDisplayLength); // Our last var data = new { sEcho = param.sEcho, iTotalRecords = categoryList.Count(), iTotalDisplayRecords = filtereDistinations.Count(), aaData = result }; return(data); }