コード例 #1
0
ファイル: CustomersController.cs プロジェクト: SergKV/Vidly
        // 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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        // 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));
        }
コード例 #4
0
 public ListCustomersPage()
 {
     InitializeComponent();
     BindingContext = _viewModel = new ListCustomersViewModel();
 }
コード例 #5
0
        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);
        }