public DttResponseForm <TForm> ProcessDatatableResult <TForm, TModel>(IQueryable <TModel> query, DttRequestForm form) where TForm : FormModelBase, new() where TModel : ModelBase { var result = new DttResponseForm <TForm>(); var user = GetCurrentUser(); if (user != null) { try { var roles = HttpContext.Current.Cache["roles"] as IEnumerable <ApplicationRole>; if (roles == null) { roles = context.Roles.Include("Actions").Where(t => t.IsActive == true && t.IsDeleted != true && t.IsDraft == false).ToList(); HttpContext.Current.Cache["roles"] = roles; } var actions = roles.Where(t => user.Roles.Any(r => r.RoleId == t.Id)).ToList().SelectMany(t => t.Actions).ToList(); if (!actions.Any(t => t.ActionName == AppActions.Restore_Delete)) { query = query.Where(t => t.IsDeleted != true); } } catch (Exception exc) { ErrorLog(exc); query = query.Where(t => t.IsDeleted != true); } } else { query = query.Where(t => t.IsDeleted != true); } result.recordsTotal = query.Count(); query = GetDynamicFilteredData(query, form); result.recordsFiltered = query.Count(); result.data = Mapper.Map <List <TModel>, List <TForm> >(GetPaging(query, form).ToList()); result.draw = form.draw; return(result); }
public DttResponseForm <TForm> UseExecutedList <T>(T form) where T : DttRequestWithDate { var result = new DttResponseForm <TForm>(); result.draw = form.draw; var data = ExecuteList <T>(form); result.recordsTotal = data.Count(); data = FilterExecutedList <T>(data, form); data = GetPaging <TModel>(data, form).ToList(); result.data = Mapper.Map <List <TModel>, List <TForm> >(data); result.recordsFiltered = result.recordsTotal; return(result); }
public DttResponseForm <ApplicationUser> GetList(DttRequestWithDate form) { var query = _userManager.Users; var result = new DttResponseForm <ApplicationUser>(); var user = GetCurrentUser(); if (user != null) { var isAdmin = user.Roles.FirstOrDefault(t => ROLEADMINIDS.Contains(t.RoleId)); if (isAdmin == null) { query = query.Where(t => t.IsDeleted != true); } } else { query = query.Where(t => t.IsDeleted != true); } result.recordsTotal = query.Count(); query = GetUserDynamicFilteredData(query, form); result.recordsFiltered = query.Count(); result.data = GetUserPaging(query, form).ToList(); result.draw = form.draw; return(result); //var result = new DttResponseForm<ApplicationUser>(); //result.draw = form.draw; //form.search.value = (form.search.value ?? "").ToLower(); ////form.length = int.MaxValue; //var query = _userManager.Users; //if (form.order?.Count > 0) { // foreach (var item in form.order) { // item.colname = form.columns[item.column].data; // if (item.colname == "Log") { // query = query // .OrderBy("CreatedDate " + item.dir); // if (item.dir == "asc") // query = query.OrderBy(t => t.UpdatedDate ?? t.CreatedDate); // else // query = query.OrderByDescending(t => t.UpdatedDate ?? t.CreatedDate); // } else { // query = query.OrderBy(item.colname + " " + item.dir); // } // } //} else { // query = query.OrderByDescending(t => t.CreatedDate).OrderByDescending(t => t.UpdatedDate ?? t.CreatedDate); //} //result.data = form.length.HasValue ? query.Skip(form.start * form.length.Value).Take(form.length.Value).ToList() : query.ToList(); //result.recordsTotal = query.Count(); //result.recordsFiltered = result.recordsTotal; //return result; }