protected virtual CrudActionResult <TViewModel, TForm> GetListAction(DttRequestForm form) { return(new CrudActionResult <TViewModel, TForm>() { Action = Json(Service.GetDynamicList(form)), ViewModel = null }); }
public IEnumerable <T> GetPaging <T>(IEnumerable <T> filtered, DttRequestForm form) where T : ModelBase { if (form.order?.Count > 0) { foreach (var item in form.order) { item.colname = form.columns[item.column].data; if (item.colname == "Log") { filtered = filtered .OrderBy("CreatedDate " + item.dir); if (item.dir == "asc") { filtered = filtered.OrderBy(t => t.UpdatedDate ?? t.CreatedDate); } else { filtered = filtered.OrderByDescending(t => t.UpdatedDate ?? t.CreatedDate); } } else { filtered = filtered.OrderBy(item.colname + " " + item.dir); } } } else { filtered = filtered.OrderByDescending(t => t.CreatedDate).OrderByDescending(t => t.UpdatedDate ?? t.CreatedDate); } if (form.length.HasValue) { return(filtered.Skip((form.start / form.length.Value) * form.length.Value) .Take(form.length.Value)); } else { return(filtered); } }
public override ActionResult GetList(DttRequestForm form) { return(base.GetList(form)); }
public IQueryable <ApplicationRole> GetRolePaging(IQueryable <ApplicationRole> filtered, DttRequestForm form) { if (form.order?.Count > 0) { foreach (var item in form.order) { item.colname = form.columns[item.column].data; if (item.colname != "Log") { filtered = filtered.OrderBy(item.colname + " " + item.dir); } } } else { filtered = filtered.OrderByDescending(t => t.UpdatedDate ?? t.CreatedDate); } if (form.length.HasValue) { return(filtered.Skip((form.start / form.length.Value) * form.length.Value) .Take(form.length.Value)); } else { return(filtered); } }
public IQueryable <ApplicationRole> GetRoleDynamicFilteredData(IQueryable <ApplicationRole> rawData, DttRequestForm form) { StringBuilder query = new StringBuilder(""); if ((form.dyamicSearch?.Count ?? 0) > 0) { var objParams = new List <object>(); var filters = form.dyamicSearch.OrderBy(t => t.index) .Where(t => !string.IsNullOrEmpty(t.data) && !string.IsNullOrEmpty(t.filter) && t.type != "custom") .ToList(); foreach (var filter in filters) { if (filter.value == null && filter.type != "string") { continue; } else if (filter.value == null && filter.type == "string") { filter.value = ""; } if (string.IsNullOrEmpty(query.ToString())) { filter.logicgate = null; } query.Append(" "); query.Append(filter.logicgate ?? ""); query.Append(" "); var template = ""; if (filter.data == "#Status") { if (filter.type == "status") { query.Append(FilterStatus(filter) + " "); } else { continue; } } else { if (filter.type == "string") { filter.value = filter.value.ToLower(); if (filter.filter == "contains") { template = "{0}.ToLower().Contains(@{1})"; } else if (filter.filter == "in") { template = "@{1}.Contains({0}.ToLower())"; } else { template = "{0}.ToLower() {2} @{1}.ToLower()"; } } else if (filter.type == "nullabledatetime") { template = "{0}.Value.Date {2} @{1}"; } else if (filter.type == "date") { template = "{0}.Date {2} @{1}"; } else { template = "{0} {2} @{1}"; } //} else if (filter.type == "nullabledatetime") { // template = "{0}.Value.Date {2} @{1}"; // } else if (filter.type == "date") { // template = "{0}.Date {2} @{1}"; // } else { // template = "{0} {2} @{1}"; // } query.AppendFormat(template, filter.data, objParams.Count, filter.filter); if (filter.type == "string") { objParams.Add(filter.value); } else if (filter.type == "number") { objParams.Add(filter.value.SafeDecimalConvert()); } else if (filter.type == "date") { objParams.Add(filter.value.SafeDateConvert()?.Date); } else if (filter.type == "nullabledatetime") { objParams.Add(filter.value.SafeDateConvert()?.Date); } else if (filter.type == "datetime") { objParams.Add(filter.value.SafeDateConvert()); } else if (filter.type.ToLower() == "bool") { objParams.Add(filter.value.SafeConvert <bool>()); } } } rawData = rawData.Where(query.ToString(), objParams.ToArray()).BindDbFunctions(); //try { // //rawData = ProcessCustomSearch(rawData, form.dyamicSearch.OrderBy(t => t.index) // //.Where(t => !string.IsNullOrEmpty(t.data) // //&& !string.IsNullOrEmpty(t.filter) // //&& t.type == "custom") // //.ToList()); //} catch (Exception exc) { //} } return(rawData); }
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 virtual DttResponseForm <TForm> GetDynamicList(DttRequestForm form) { return(ProcessDatatableResult <TForm, TModel>(context.Set <TModel>().IncludeAll(Includes), form));//Filter<T>(context.Set<TModel>().IncludeAll(Includes).Where(t => t.IsDeleted != true), form); }
public virtual ActionResult GetList(DttRequestForm form) { return(GetListAction(form).Action); }