public ViewResult getListPhones(string category) { string _category = category; IEnumerable <Phone> phones = null; string currentCategory = ""; if (string.IsNullOrEmpty(category)) { phones = _allPhones.Phones.OrderBy(i => i.Id); } else { if (string.Equals("Iphone", category, StringComparison.OrdinalIgnoreCase)) { phones = _allPhones.Phones.Where(i => i.Category.CategoryName.Equals("Iphone")).OrderBy(i => i.Id); } if (string.Equals("Android", category, StringComparison.OrdinalIgnoreCase)) { phones = _allPhones.Phones.Where(i => i.Category.CategoryName.Equals("Android")).OrderBy(i => i.Id); } currentCategory = _category; } var phoneObj = new PhonesListViewModel { AllPhones = phones, CurrentCategory = currentCategory }; ViewBag.Title = "Page with Phones"; return(View(phoneObj)); }
public void Can_Paginate() { Mock <IPhoneRepository> mock = new Mock <IPhoneRepository>(); mock.Setup(m => m.Phones).Returns(new List <Phone> { new Phone { PhoneId = 1, Mark = "Sony1" }, new Phone { PhoneId = 2, Mark = "Sony2" }, new Phone { PhoneId = 3, Mark = "Sony3" }, new Phone { PhoneId = 4, Mark = "Sony4" }, new Phone { PhoneId = 5, Mark = "Sony5" } }); PhonesController controller = new PhonesController(mock.Object); controller.pageSize = 3; PhonesListViewModel result = (PhonesListViewModel)controller.List(null, 2).Model; List <Phone> phones = result.Phones.ToList(); Assert.IsTrue(phones.Count == 2); Assert.AreEqual(phones[0].Mark, "Sony4"); Assert.AreEqual(phones[1].Mark, "Sony5"); }
public ViewResult List() { ViewBag.Title = "Страница с смартфонами"; PhonesListViewModel obj = new PhonesListViewModel(); obj.AllPhones = _allPhones.phones; obj.PhoneCategory = "Смартфоны"; return(View(obj)); }
public void Can_Send_Pagination_View_Model() { // Организация (arrange) Mock <IPhonerepository> mock = new Mock <IPhonerepository>(); mock.Setup(m => m.Phones).Returns(new List <Phone> { new Phone { PhoneId = 1, Name = "Phone1" }, new Phone { PhoneId = 2, Name = "Phone2" }, new Phone { PhoneId = 3, Name = "Phone3" }, new Phone { PhoneId = 4, Name = "Phone4" }, new Phone { PhoneId = 5, Name = "Phone5" } }); PhoneController controller = new PhoneController(mock.Object); controller.pageSize = 3; // Act PhonesListViewModel result = (PhonesListViewModel)controller.List(null, 2).Model; // Assert PagingInfo pageInfo = result.PagingInfo; Assert.AreEqual(pageInfo.CurrentPage, 2); Assert.AreEqual(pageInfo.ItemsPerPage, 3); Assert.AreEqual(pageInfo.TotalItems, 5); Assert.AreEqual(pageInfo.TotalPages, 2); }
public ViewResult List(string category, int page = 1) { PhonesListViewModel model = new PhonesListViewModel { Phones = repository.Phones .Where(b => category == null || b.Category == category) .OrderBy(phone => phone.PhoneId) .Skip((page - 1) * pageSize) .Take(pageSize), PagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = pageSize, TotalItems = category == null? repository.Phones.Count() : repository.Phones.Where(phone => phone.Category == category).Count() }, CurrentCategory = category }; return(View(model)); }
public ActionResult Filtr(string position) { IQueryable<Phone> phones = db.Phones; if (!String.IsNullOrEmpty(position) && !position.Equals("Все")) { phones = phones.Where(p => p.Model == position); } List<Phone> teams = db.Phones.ToList(); teams.Insert(0, new Phone { Model = "Все", Id = 0 }); PhonesListViewModel plvm = new PhonesListViewModel { Phones=phones.ToList(), Teams = new SelectList(teams, "Id", "Model"), Models = new SelectList(new List<string>() { "Все", "Модель", "Производитель" }) }; return View(plvm); }
public void Can_Paginate() { //Arrange Mock <IPhoneRepository> mock = new Mock <IPhoneRepository>(); mock.Setup(m => m.Phones).Returns(new List <Phone> { new Phone { PhoneId = 1, Name = "Phone1" }, new Phone { PhoneId = 2, Name = "Phone2" }, new Phone { PhoneId = 3, Name = "Phone3" }, new Phone { PhoneId = 4, Name = "Phone4" }, new Phone { PhoneId = 5, Name = "Phone5" } }); PhoneController controller = new PhoneController(mock.Object); controller.pageSize = 3; //Act PhonesListViewModel result = (PhonesListViewModel)controller.List(null, 2).Model; //Assert List <Phone> phones = result.Phones.ToList(); Assert.IsTrue(phones.Count == 2); Assert.AreEqual(phones[0].Name, "Phone4"); Assert.AreEqual(phones[1].Name, "Phone5"); }
public void Can_Send_Pagination_View_Model() { Mock <IPhoneRepository> mock = new Mock <IPhoneRepository>(); mock.Setup(m => m.Phones).Returns(new List <Phone> { new Phone { PhoneId = 1, Mark = "Sony1" }, new Phone { PhoneId = 2, Mark = "Sony2" }, new Phone { PhoneId = 3, Mark = "Sony3" }, new Phone { PhoneId = 4, Mark = "Sony4" }, new Phone { PhoneId = 5, Mark = "Sony5" } }); PhonesController controller = new PhonesController(mock.Object); controller.pageSize = 3; PhonesListViewModel result = (PhonesListViewModel)controller.List(null, 2).Model; PagingInfo pagingInfo = result.PagingInfo; Assert.AreEqual(pagingInfo.CurrentPage, 2); Assert.AreEqual(pagingInfo.ItemsPerPage, 3); Assert.AreEqual(pagingInfo.TotalItems, 5); Assert.AreEqual(pagingInfo.TotalPages, 2); }