// GET: Customer public ActionResult Index() { var filter = new CustomersRequestViewModel(); ViewBag.Filter = filter; return(View()); }
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)))); }
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)); }
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); }
public async Task <IActionResult> Search([FromRoute] int clientId, [FromQuery] CustomersRequestViewModel viewModel) => await HandleResultAsync(() => _service.Search(clientId, viewModel));
/// <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)); }
protected IQueryable <Customer> SearchFilter(IQueryable <Customer> query, CustomersRequestViewModel viewModel) { return(query); }
public async Task <IActionResult> SearchByCompany([FromRoute] int companyId, [FromQuery] CustomersRequestViewModel viewModel) => await HandleResultAsync(() => _service.Search(viewModel)); // TODO: filter by company id