// GET: Clients public IActionResult Index(ClientsIndexViewModel model) { if (GlobalVar.LoggedOnUserId == -1) { return(RedirectToAction("LogInRequired", "Users")); } model.Pager ??= new PagerViewModel(); model.Pager.CurrentPage = model.Pager.CurrentPage <= 0 ? 1 : model.Pager.CurrentPage; var contextDb = Filter(context.Clients.ToList(), model.Filter); List <ClientsViewModel> items = contextDb.Skip((model.Pager.CurrentPage - 1) * PageSize).Take(PageSize).Select(c => new ClientsViewModel() { Id = c.Id, FirstName = c.FirstName, LastName = c.LastName, Email = c.Email, TelephoneNumber = c.TelephoneNumber, IsAdult = c.IsAdult }).ToList(); if (model.Filter == null) { model.Filter = new ClientsFilterViewModel(); } model.Items = items; model.Pager.PagesCount = Math.Max(1, (int)Math.Ceiling(contextDb.Count() / (double)PageSize)); return(View(model)); }
public IActionResult Index(string searchString = "") { _logger.LogInformation($"Getting Customers' List, search by {searchString}, user: {User.Identity.Name}"); try { _clientIndexMapper = _entityMapperContextBase.Set <Point, Client>(cfg => { cfg.CreateMap <Point, Client>() .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.PointNumber)) .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.NamePoint)) .ForMember(dest => dest.GroupName, opt => opt.MapFrom(src => src.CliGroup.CliGroupName)) .ForMember(dest => dest.ContactName, opt => opt.MapFrom(src => src.ContactPerson)) .ForMember(dest => dest.PhoneNumber, opt => opt.MapFrom(src => src.Telefon)) .ForMember(dest => dest.Balance, opt => opt.MapFrom(src => src.Saldo)); } ); } catch (Exception ex) { _logger.LogError($"Mapping error: {ex.Message}"); } IEnumerable <Client> clients; var model = new ClientsIndexViewModel(); if (!string.IsNullOrEmpty(searchString)) { model.SearchString = string.Concat(searchString.ToCharArray().Where(c => !Char.IsWhiteSpace(c))); clients = _context.Set <Point>() .GetAll() //.FindBy(p => p.CliGroupNumber == 7 || p.CliGroupNumber == 2) ?.Where(p => p.NamePoint.ToLower().Contains(searchString.ToLower())) ?.Include(e => e.CliGroup) ?.Select(c => _clientIndexMapper.Map(c)) ?.OrderBy(c => c.GroupName) .ThenBy(c => c.Name); } else { clients = _context.Set <Point>() .GetAll() //?.FindBy(p => p.CliGroupNumber == 7 || p.CliGroupNumber == 2) ?.Include(e => e.CliGroup) ?.Select(c => _clientIndexMapper.Map(c)) ?.OrderBy(c => c.GroupName) .ThenBy(c => c.Name); } if (clients != null) { model.Clients = clients; return(View(model)); } else { _logger.LogWarning("Customers NOT FOUND!"); return(NotFound("Клиенты не найдены")); } }
// GET: Clients public async Task <IActionResult> Index(ClientsIndexViewModel model) { if (GetCookie("LoggedIn") != "true") { return(Redirect("/")); } else { model.Pager ??= new PagerViewModel(); StringValues value = StringValues.Empty; Request.Query.TryGetValue("page", out value); model.Pager.CurrentPage = StringValues.IsNullOrEmpty(value) ? 1 : int.Parse(value); value = StringValues.Empty; Request.Query.TryGetValue("pagesize", out value); model.Pager.PageSize = StringValues.IsNullOrEmpty(value) ? 10 : int.Parse(value); model.Pager.PagesCount = (int)Math.Ceiling((double)_context.Clients.ToArray().Length / (double)model.Pager.PageSize); value = StringValues.Empty; Request.Query.TryGetValue("sort", out value); model.CurrentSort = StringValues.IsNullOrEmpty(value) ? 0 : int.Parse(value); List <ClientsViewModel> items = await _context.Clients.Skip((model.Pager.CurrentPage - 1) *model.Pager.PageSize).Take(model.Pager.PageSize).Select(c => new ClientsViewModel() { Id = c.Id, FirstName = c.FirstName, LastName = c.LastName, PhoneNumber = c.PhoneNumber, Email = c.Email, Adult = c.Adult }).ToListAsync(); switch (model.CurrentSort) { case 1: //FamilyName model.Items = items.OrderBy(i => i.LastName).ToList(); break; default: //FirstName model.Items = items.OrderBy(i => i.FirstName).ToList(); break; } return(View(model)); } }
// GET: ReservationsController public async Task <IActionResult> Index(ClientsIndexViewModel model) { model.Pager ??= new PagerViewModel(); model.Pager.CurrentPage = model.Pager.CurrentPage <= 0 ? 1 : model.Pager.CurrentPage; List <ClientsViewModel> items = await context.Clients.Skip((model.Pager.CurrentPage - 1) *PageSize).Take(PageSize).Select(c => new ClientsViewModel() { Id = c.Id, FirstName = c.FirstName, LastName = c.LastName, PhoneNumber = c.PhoneNumber, Email = c.Email, Adult = c.Adult, previousReservations = c.previousReservations }).ToListAsync(); model.Clients = items; model.Pager.PagesCount = (int)Math.Ceiling(await context.Rooms.CountAsync() / (double)PageSize); return(View(model)); }