public SearchViewModel FillLeadModelByProfile(GridProfileViewModel profile) { var leadAdapter = new LeadAdapter(); var model = new SearchViewModel(); model.Columns = profile?.GridFields ?? new List <GridFieldViewModel>(); model.Field = profile?.SearchField; model.SearchValue = profile?.SearchValue; int totalItems; var result = leadAdapter.GetLeadsByFilter( model.Field, model.SearchValue, model.OrderField, model.Page, model.ItemsPerPage, out totalItems, model.OrderDirection); var items = Mapper.Map <List <Lead>, List <LeadViewModel> >(result); model.Items = items.ToList <IUser>(); model.ItemsCount = totalItems; if (!model.Columns.Any()) { var columns = ReflectionService.GetModelProperties <LeadViewModel>(); for (int i = 0; i < columns.Count; i++) { model.Columns.Add(new GridFieldViewModel(columns[i], true, 0, i)); } } return(model); }
public ActionResult Search(SearchViewModel model) { model.TableName = "Leads"; var currentUserEmail = User.GetCurrentUserCreads()?.Email; var leadAdapter = new LeadAdapter(); int totalItems; var result = leadAdapter.GetLeadsByFilter( model.Field, model.SearchValue, model.OrderField, model.Page, model.ItemsPerPage, out totalItems, model.OrderDirection); var items = Mapper.Map <List <Lead>, List <LeadViewModel> >(result); model.Items = items.ToList <Interfaces.IUser>(); model.ItemsCount = totalItems; return(PartialView("~/Views/Grid/_GridPagePartial.cshtml", model)); }