public IGridPageDto <IVehicleMakeDto> GetAllByGridPage(int pageNumber, int pageSize, string sort, string searchPhrase) { var rows = Conn.Query <VehicleMakeDto>("Repair.usp_GetVehicleMakes @search", new { search = searchPhrase }) .Distinct() .ToList(); // Create Result. var result = new GridPageDto <IVehicleMakeDto> { Current = pageNumber, Total = rows.Count }; var sorted = !string.IsNullOrEmpty(sort) ? rows.OrderBy(sort) : rows.OrderBy(d => d.VehicleMakeName); // Get Page. var page = pageSize < 0 ? sorted : sorted.Skip((pageNumber - 1) * pageSize).Take(pageSize); // Set Page. result.Rows = page; result.RowCount = result.Rows.Count(); return(result); }
internal static IGridPageDto <T> GetGridPageFromCollection <T>(this ICollection <T> results, ServiceArgs args) { // Load Grid Settings. var currentPage = (int)(args?["CurrentPage"] ?? 0); var rowCount = (int)(args?["RowCount"] ?? 0); var sortOrder = args?["SortOrder"]?.ToString(); // Create Results. var result = new GridPageDto <T> { Current = currentPage, Total = results.Count, }; // Sort Dataset. var sorted = string.IsNullOrEmpty(sortOrder) ? results : results?.OrderBy(sortOrder); // Get Page. var page = rowCount < 0 ? sorted : sorted.Skip((currentPage - 1) * rowCount).Take(rowCount); // Set Page. result.Rows = page.ToList(); result.RowCount = (int)result.Rows?.Count(); return(result); }
public IGridPageDto <IShopDto> GetAllByGridPage(int pageNumber, int pageSize, string sort, string searchPhrase) { // Create Result. var result = new GridPageDto <IShopDto> { Current = pageNumber, Rows = new List <IShopDto>() }; if (!UserHasRoles(ApplicationRoles.ShopView, ApplicationRoles.ShopEdit)) { return(result); } // Search Shops. var shops = GetShops(search: searchPhrase); // Count Results. result.Total = shops.Count(); // Sort Dataset. var sorted = string.IsNullOrEmpty(sort) ? shops?.OrderBy(u => u.Name) : shops?.OrderBy(sort); // Get Page. var page = pageSize < 0 ? sorted : sorted.Skip((pageNumber - 1) * pageSize).Take(pageSize); // Set Page. result.RowCount = page.Count(); result.Rows = page; return(result); }
public IGridPageDto <IEstimatePlanDto> GetAllByGridPage(int pageNumber, int pageSize, string sort, string searchPhrase) { var rows = Db.EstimatePlans.AsQueryable() .Include(d => d.EstimatePlanVehicles) .Include(i => i.EstimatePlanVehicles.Select(d => d.VehicleMake)); rows = rows.Where(d => d.Name.Contains(searchPhrase) || d.Description.Contains(searchPhrase)); // Create Result. var result = new GridPageDto <IEstimatePlanDto> { Current = pageNumber, Total = rows.Count() }; var sorted = !string.IsNullOrEmpty(sort) ? rows.OrderBy(sort) : rows.OrderBy(d => d.Name); // Get Page. var page = pageSize < 0 ? sorted : sorted.Skip((pageNumber - 1) * pageSize).Take(pageSize); // Set Page. result.Rows = Mapper.Map <IEnumerable <IEstimatePlanDto> >(page.ToList()); result.RowCount = result.Rows.Count(); return(result); }
public IGridPageDto <IPricingPlanDto> GetAllByGridPage(int pageNumber, int pageSize, string sort, string searchPhrase) { // Search Database. var planDictionary = new Dictionary <int, PricingPlanDto>(); var rows = Conn.Query <PricingPlanDto, PricingPlanLineItemDto, PricingPlanDto>("Billing.usp_GetPricingPlans @Offset, @Search", (p, c) => { PricingPlanDto plan; if (!planDictionary.TryGetValue(p.PricingPlanId, out plan)) { plan = p; plan.LineItems = new List <PricingPlanLineItemDto>(); planDictionary.Add(plan.PricingPlanId, plan); } if (c == null) { return(plan); } (plan.LineItems as List <PricingPlanLineItemDto>)?.Add(c); return(plan); }, new { Offset = User.UserUtcOffset, Search = searchPhrase }, splitOn: "PlanGroup") .Distinct() .ToList(); // Create Result. var result = new GridPageDto <IPricingPlanDto> { Current = pageNumber, Total = rows.Count }; // Sort Dataset. var sorted = string.IsNullOrEmpty(sort) ? rows.OrderBy(s => s.PricingPlanName) : rows.OrderBy(sort); // Get Page. var page = pageSize < 0 ? sorted : sorted.Skip((pageNumber - 1) * pageSize).Take(pageSize); // Set Page. result.Rows = page; result.RowCount = result.Rows.Count(); return(result); }
public IGridPageDto <IAccountDto> GetAllByGridPage(int pageNumber, int pageSize, string sort, string searchPhrase) { // Create Result var result = new GridPageDto <IAccountDto> { Current = pageNumber, Rows = new List <IAccountDto>() }; if (!UserHasRoles(ApplicationRoles.AccountView, ApplicationRoles.AccountEdit)) { return(result); } // Search Accounts. var shops = string.IsNullOrEmpty(searchPhrase) ? AllowedAccounts : AllowedAccounts.Where(s => s.Name.Contains(searchPhrase) || s.Address1.Contains(searchPhrase) || s.Address2.Contains(searchPhrase) || s.City.Contains(searchPhrase) || s.State.Name.Contains(searchPhrase) || s.Zip.Contains(searchPhrase) || (s.EmployeeGuid != null && s.Employee.DisplayName.Contains(searchPhrase)) || s.Phone.Contains(searchPhrase) || s.Fax.Contains(searchPhrase)); // Count Results. result.Total = shops.Count(); // Sort Dataset. var sorted = string.IsNullOrEmpty(sort) ? shops?.OrderBy(u => u.Name) : shops?.OrderBy(sort); // Get Page. var page = pageSize < 0 ? sorted : sorted.Skip((pageNumber - 1) * pageSize).Take(pageSize); // Set Page. result.RowCount = page.Count(); result.Rows = page.Include(i => i.AccountUsers) .Include(i => i.AccountUsers.Select(d => d.User)) .Include(a => a.State) .Include(a => a.Employee) .Include(a => a.AccountUsers) .Include(a => a.AccountUsers.Select(au => au.User)) .ToList().Select(Mapper.Map <AccountDto>); return(result); }
public IGridPageDto <IGroupDto> GetAllByGridPage(int pageNumber, int pageSize, string sort, string searchPhrase) { // Create Result var result = new GridPageDto <IGroupDto> { Current = pageNumber, Rows = new List <IGroupDto>() }; if (!UserHasRoles(ApplicationRoles.GroupView, ApplicationRoles.GroupEdit)) { return(result); } // Search Users. var groups = string.IsNullOrEmpty(searchPhrase) ? AllowedGroups : AllowedGroups.Where(g => g.Name.Contains(searchPhrase) || g.Description.Contains(searchPhrase) || g.Roles.Any(r => r.Role.Name.Contains(searchPhrase))); // Count Results. result.Total = groups.Count(); // Sort Dataset. var sorted = string.IsNullOrEmpty(sort) ? groups?.OrderBy(g => g.Name) : groups?.OrderBy(sort); // Get Page. var page = pageSize < 0 ? sorted : sorted.Skip((pageNumber - 1) * pageSize).Take(pageSize); // Set Page. result.RowCount = page.Count(); result.Rows = page .Include(u => u.Roles) .Include(u => u.Roles.Select(r => r.Role)) .Include(g => g.GroupUsers) .Include(g => g.GroupUsers.Select(gu => gu.User)) .ToList().Select(Mapper.Map <GroupDto>); return(result); }
public IGridPageDto <IUserDto> GetAllByGridPage(int pageNumber, int pageSize, string sort, string searchPhrase) { // Create Result. var result = new GridPageDto <IUserDto> { Current = pageNumber, Rows = new List <IUserDto>() }; if (!UserHasRoles(ApplicationRoles.UserView, ApplicationRoles.UserEdit)) { return(result); } // Search Users. var users = string.IsNullOrEmpty(searchPhrase) ? AllowedUsers : AllowedUsers.Where(u => u.Email.Contains(searchPhrase) || u.LastName.Contains(searchPhrase) || (u.FirstName + " " + u.LastName).Contains(searchPhrase) || (u.LastName + ", " + u.FirstName).Contains(searchPhrase) || u.FirstName.Contains(searchPhrase) || u.JobTitle.Contains(searchPhrase) || u.ContactNumber.Contains(searchPhrase) || u.PhoneNumber.Contains(searchPhrase) || u.UserGroups.Any(g => g.Group.Name.Contains(searchPhrase)) || u.UserRoles.Any(r => r.Role.Name.Contains(searchPhrase)) || u.UserAccounts.Any(a => a.Account.Name.Contains(searchPhrase)) || u.UserShops.Any(s => s.Shop.Name.Contains(searchPhrase))); // Count Results. result.Total = users.Count(); // Sort Dataset. var sorted = string.IsNullOrEmpty(sort) ? users?.OrderBy(u => u.Email) : users?.OrderBy(sort); // Get Page. var page = pageSize < 0 ? sorted : sorted.Skip((pageNumber - 1) * pageSize).Take(pageSize); // Set Page. result.RowCount = page.Count(); result.Rows = page.Include(u => u.UserAccounts).Include(u => u.UserShops).Include(u => u.UserGroups).Include(x => x.EmployeeAccounts).Include(x => x.EmployeeShops).Select(Mapper.Map <UserDto>); return(result); }
public IGridPageDto <IReleaseNoteDto> GetAllByGridPage(int pageNumber, int pageSize, string sort, string searchPhrase) { // Create Result var result = new GridPageDto <IReleaseNoteDto> { Current = pageNumber, Rows = new List <IReleaseNoteDto>() }; if (!UserHasRoles(ApplicationRoles.ReleaseNoteView, ApplicationRoles.ReleaseNoteEdit)) { return(result); } var query = GetReleaseNoteQuery(); // Search Release Notess. var releaseNotes = string.IsNullOrEmpty(searchPhrase) ? query : query.Where(s => s.ReleaseNote.Contains(searchPhrase) || s.Summary.Contains(searchPhrase) || s.Version.Contains(searchPhrase) || s.DevelopmentId.Contains(searchPhrase) || s.UpdatedBy.Contains(searchPhrase)); // Count Results. result.Total = releaseNotes.Count(); // Sort Dataset. var sorted = string.IsNullOrEmpty(sort) ? releaseNotes?.OrderBy(u => u.UpdatedDt) : releaseNotes?.OrderBy(sort); // Get Page. var page = pageSize < 0 ? sorted : sorted.Skip((pageNumber - 1) * pageSize).Take(pageSize); // Set Page. result.RowCount = page.Count(); result.Rows = page.ToList(); return(result); }
public IGridPageDto <IWorkTypeGroupDto> GetAllByGridPage(int pageNumber, int pageSize, string sort, string searchPhrase) { // Load Records. var rows = Conn.Query <WorkTypeGroupDto>("Scan.usp_GetWorkTypeGroups @Search", new { Search = searchPhrase }).ToList(); // Create Result. var result = new GridPageDto <IWorkTypeGroupDto> { Current = pageNumber, Total = rows.Count }; // Sort Dataset. var sorted = string.IsNullOrEmpty(sort) ? rows.OrderBy(s => s.WorkTypeGroupSortOrder) : rows.OrderBy(sort); // Get Page. var page = pageSize < 0 ? sorted : sorted.Skip((pageNumber - 1) * pageSize).Take(pageSize); // Set Page. result.Rows = page; result.RowCount = result.Rows.Count(); return(result); }
public IGridPageDto <ITechnicianProfileDto> GetAllByGridPage(int pageNumber, int pageSize, string sort, string searchPhrase) { var rows = AvailableProfiles .Include(d => d.User) .Include(d => d.VehicleMakes) .Include(d => d.VehicleMakes.Select(m => m.VehicleMake)) .Include(d => d.Schedules) .Include(d => d.TimeOffEntries); rows = rows.Where(d => d.DisplayName.Contains(searchPhrase) || d.EmployeeId.Contains(searchPhrase) || d.OtherNotes.Contains(searchPhrase) || d.User.UserName.Contains(searchPhrase) || d.Location.Name.Contains(searchPhrase) || d.VehicleMakes.Select(m => m.VehicleMake).Any(m => m.VehicleMakeName.Contains(searchPhrase))); // Create Result. var result = new GridPageDto <ITechnicianProfileDto> { Current = pageNumber, Total = rows.Count() }; var sorted = !string.IsNullOrEmpty(sort) ? rows.OrderBy(sort) : rows.OrderBy("DisplayName"); // Get Page. var page = pageSize < 0 ? sorted : sorted.Skip((pageNumber - 1) * pageSize).Take(pageSize); // Set Page. result.Rows = page.ToList().Select(p => Mapper.Map <TechnicianProfileEntityModel, TechnicianProfileDto>(p, opts => opts.Items["TimeZoneInfoId"] = User.TimeZoneInfoId)); result.RowCount = result.Rows.Count(); return(result); }