// GET: Customers/CustomerList public ActionResult CustomerList() { var customers = new List <Customer> { new Customer() { Name = "Customer 1" }, new Customer() { Name = "Customer 2" }, }; var viewModel = new ListCustomersViewModel() { Customers = customers }; return(View(viewModel)); }
public IActionResult ListCustomers(string page, string searchName, string searchCity, string sortColumn, bool asc) { var listCustomersViewModel = new ListCustomersViewModel(); int currentPage = string.IsNullOrEmpty(page) ? 1 : Convert.ToInt32(page); int pageSize = 50; listCustomersViewModel.PagingViewModel.CurrentPage = currentPage; listCustomersViewModel.PagingViewModel.PageSize = pageSize; var search = searchName + " " + searchCity; var searchresult = _searchService.GetPagedCustomerIds(search, sortColumn, asc, pageSize, currentPage); listCustomersViewModel.Customers = _mapper.Map <List <Customers>, List <ListCustomersViewModel.CustomerViewModel> >(_customerService.getListedCustomers(searchresult.PagedResultIds)); var pageCount = (double)searchresult.ResultCount / listCustomersViewModel.PagingViewModel.PageSize; listCustomersViewModel.PagingViewModel.MaxPages = (int)Math.Ceiling(pageCount); return(View(listCustomersViewModel)); }
// GET: Customer public ActionResult Customers() { var Customers = new List <Customer> { new Customer { Id = 1, Name = "Jack" }, new Customer { Id = 2, Name = "Roze" }, new Customer { Id = 3, Name = "Piet" } }; var Viewmodel = new ListCustomersViewModel { Customers = Customers, }; return(View(Viewmodel)); }
public ListCustomersPage() { InitializeComponent(); BindingContext = _viewModel = new ListCustomersViewModel(); }
public ActionResult Index(int? page, string sortOrder = "", string searchType = "", string searchQuery = "") { var model = new ListCustomersViewModel(); var pageNumber = page ?? 1; // if no page was specified in the querystring, default to the first page (1) model.SearchType = searchType; model.SearchQuery = searchQuery; model.SortOrder = sortOrder; //The following code will check which sortOrder was passed in and how that will affect other sortOrder params. model.FNameSortParam = sortOrder == "FName" ? "FName Desc" : "FName"; model.LNameSortParam = String.IsNullOrEmpty(sortOrder) ? "LName Desc" : ""; model.StateSortParam = sortOrder == "State" ? "State Desc" : "State"; model.Phone1SortParam = sortOrder == "Phone1" ? "Phone1 Desc" : "Phone1"; model.Phone2SortParam = sortOrder == "Phone2" ? "Phone2 Desc" : "Phone2"; model.EmailSortParam = sortOrder == "Email" ? "Email Desc" : "Email"; model.CustomerSinceSortParam = sortOrder == "CustomerSince" ? "CustomerSince Desc" : "CustomerSince"; var customers = _customerRepository.GetAll(); switch(searchType) { case "Name": customers = customers.GetByEitherName(searchQuery); ViewData["filteredBy"] = "Searching for customers with a name that contains " + searchQuery; break; case "State": customers = customers.GetByState(searchQuery); ViewData["filteredBy"] = "Searching for customers who live in " + searchQuery; break; case "Email" : customers = customers.GetByEmail(searchQuery); ViewData["filteredBy"] = "Searching for customers with " + searchQuery + " listed as an email"; break; case "CustomerType": customers = customers.GetByCustomerType(searchQuery); ViewData["filteredBy"] = "Searching for customers categorized as " + searchQuery; break; } switch(sortOrder) { case "FName": customers = customers.SortByFirstName(0); break; case "FName Desc": customers = customers.SortByFirstName(1); break; case "LName": customers = customers.SortByLastName(0); break; case "LName Desc": customers = customers.SortByLastName(1); break; case "State": customers = customers.SortByStateProvince(0); break; case "State Desc": customers = customers.SortByStateProvince(1); break; case "Phone1": customers = customers.SortByPhoneNumber1(0); break; case "Phone1 Desc": customers = customers.SortByPhoneNumber1(1); break; case "Phone2": customers = customers.SortByPhoneNumber2(0); break; case "Phone2 Desc": customers = customers.SortByPhoneNumber2(1); break; case "Email": customers = customers.SortByEmail(0); break; case "Email Desc": customers = customers.SortByEmail(1); break; case "CustomerSince": customers = customers.SortByCustomerSince(0); break; case "CustomerSince Desc": customers = customers.SortByCustomerSince(1); break; default: customers = customers.SortByLastName(0); break; } model.Customers = customers.ToPagedList(pageNumber, 25); // will only contain 25 products max because of the pageSize return View(model); }