コード例 #1
0
        // 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));
        }
コード例 #2
0
        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("Клиенты не найдены"));
            }
        }
コード例 #3
0
        // 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));
            }
        }
コード例 #4
0
        // 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));
        }