Пример #1
0
        // GET: Customer
        public ActionResult Index()
        {
            var filter = new CustomersRequestViewModel();

            ViewBag.Filter = filter;

            return(View());
        }
Пример #2
0
        public ActionResult Find(CustomersRequestViewModel request)
        {
            var customerRequest = new CustomersRequest()
            {
                FirstName = request.FirstName,
                LastName  = request.LastName
            };

            return(PartialView("_CustomersTable",
                               Mapper.Map <IEnumerable <CustomerViewModel> >(_service.GetCustomers(customerRequest))));
        }
Пример #3
0
        public async Task <PaginatedListResult <Customer> > Search(CustomersRequestViewModel viewModel)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            var query = BaseQuery();

            query = SearchFilter(query, viewModel);
            query = SearchSort(query, viewModel);

            return(await query.ToPaginatedListResultAsync(viewModel));
        }
Пример #4
0
        protected IQueryable <Customer> SearchSort(IQueryable <Customer> query, CustomersRequestViewModel viewModel)
        {
            string sortName = viewModel.SortName?.ToUpper();

            if (sortName == CompaniesRequestViewModel.OrderFields.CompanyName)
            {
                query = query.OrderUsingSearchOptions(viewModel, x => x.Name);
            }
            else if (sortName == CompaniesRequestViewModel.OrderFields.ClientCode)
            {
                query = query.OrderUsingSearchOptions(viewModel, x => x.RegCode);
            }
            else if (sortName == CompaniesRequestViewModel.OrderFields.ContactPerson)
            {
                query = query.OrderUsingSearchOptions(viewModel, x => x.Name);
            }
            else if (sortName == CompaniesRequestViewModel.OrderFields.ContactPhone)
            {
                query = query.OrderUsingSearchOptions(viewModel, x => x.Phone);
            }
            else if (sortName == CompaniesRequestViewModel.OrderFields.ContactEmail)
            {
                query = query.OrderUsingSearchOptions(viewModel, x => x.Email);
            }
            else
            {
                query = query.OrderBy(x => x.Id);
            }
            // TODO
            //else if (sortName == CompaniesRequestViewModel.OrderFields.InvoiceFrequency)
            //    query = query.OrderUsingSearchOptions(viewModel, x => x.InvoiceFrequency);
            //else if (sortName == CompaniesRequestViewModel.OrderFields.InvoiceEmail)
            //    query = query.OrderUsingSearchOptions(viewModel, x => x.InvoiceEmail);
            //else if (sortName == CompaniesRequestViewModel.OrderFields.LastLoginTime)
            //    query = query.OrderUsingSearchOptions(viewModel, x => x.LastLoginTime);
            return(query);
        }
Пример #5
0
 public async Task <IActionResult> Search([FromRoute] int clientId, [FromQuery] CustomersRequestViewModel viewModel)
 => await HandleResultAsync(() => _service.Search(clientId, viewModel));
Пример #6
0
        /// <summary>
        /// Those are temtcash customer's clients
        /// </summary>
        /// <param name="customerId"></param>
        /// <param name="viewModel"></param>
        /// <returns></returns>
        public async Task <ServiceResult <PaginatedListResult <CustomersResponseViewModel> > > Search(int customerId, CustomersRequestViewModel viewModel)
        {
            throw new NotImplementedException();
            var paginatedListWithModel = await _repository.Search(viewModel);

            // Mapping
            List <CustomersResponseViewModel> Mapping(List <Customer> list)
            {
                return(list?
                       .Select(model => new CustomersResponseViewModel
                {
                    Id = model.Id,
                    UsernameOrEmail = model.Email,
                    Name = model.Name,
                    //Role = model.Role TODO
                    CompanysMainUser = model.IsCompany,     // TODO? is this correct?
                    //IsActive = model.IsActive // TODO
                    //LastLoginTime = model.LastLoginTime // TODO
                })
                       .ToList());
            }

            var paginatedListWithViewModel = paginatedListWithModel.Copy(Mapping);

            return(ServiceResultFactory.Success(paginatedListWithViewModel));
        }
Пример #7
0
 protected IQueryable <Customer> SearchFilter(IQueryable <Customer> query, CustomersRequestViewModel viewModel)
 {
     return(query);
 }
Пример #8
0
 public async Task <IActionResult> SearchByCompany([FromRoute] int companyId, [FromQuery] CustomersRequestViewModel viewModel)
 => await HandleResultAsync(() => _service.Search(viewModel));     // TODO: filter by company id