public ActionResult EditPublisher(PublishersEditPublisherVM model) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); PublishersRepository publishersRepository = new PublishersRepository(context); Publisher publisher = null; if (!ModelState.IsValid) { return(View(model)); } else { if (model.ID > 0) { publisher = publishersRepository.GetByID(model.ID); } else { publisher = new Publisher(); } publisher.ID = model.ID; publisher.Name = model.Name; publisher.Address = model.Address; publishersRepository.Save(publisher); } return(RedirectToAction("Index", "Publishers")); }
public ActionResult EditBook(int id) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); BooksRepository booksRepository = new BooksRepository(context); PublishersRepository publishersRepository = new PublishersRepository(context); BooksEditBookVM model = new BooksEditBookVM(); Book book = booksRepository.GetByID(id); if (id > 0) { if (book == null) { return(RedirectToAction("Index", "Books")); } model.ID = book.ID; model.Title = book.Title; model.PublisherID = book.Publisher.ID; model.StockCount = book.StockCount; model.DeliveryPrice = book.DeliveryPrice; model.DateReceived = book.DateReceived; model.DatePublished = book.DatePublished; } else { book = new Book(); } model.Publishers = model.Publishers ?? new List <SelectListItem>(); model.Publishers = SelectListHandler.Create <Publisher>( publishersRepository.GetAll(), p => p.Name, p => p.ID.ToString(), model.PublisherID.ToString()); return(View(model)); }
public ActionResult Details(int id, string sortOrder) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); PublishersRepository publishersRepository = new PublishersRepository(context); BooksRepository booksRepository = new BooksRepository(context); PublishersDetailsVM model = new PublishersDetailsVM(); this.TryUpdateModel(model); var publisher = publishersRepository.GetByID(id); if (publisher != null) { model.ID = publisher.ID; model.PublisherName = publisher.Name; model.Address = publisher.Address; model.BooksPager = model.BooksPager ?? new GenericPagerVM(); model.BooksPager.CurrentPage = model.BooksPager.CurrentPage == 0 ? 1 : model.BooksPager.CurrentPage; model.BooksPager.Action = "Details"; model.BooksPager.Controller = "Publishers"; model.BooksPager.Prefix = "BooksPager"; model.BooksPager.CurrentParameters = new Dictionary <string, object>() { { "BookTitle", model.BookTitle }, { "BooksPager.CurrentPage", model.BooksPager.CurrentPage } }; #region Sorting and Filtering Expression <Func <Book, bool> > filter = b => (string.IsNullOrEmpty(model.BookTitle) || b.Title.Contains(model.BookTitle)); model.BooksPager.PagesCount = GetPagesCount(filter); ViewBag.BookSortParam = string.IsNullOrEmpty(sortOrder) ? "book_desc" : ""; switch (sortOrder) { case "book_desc": model.Books = booksRepository .GetAll(model.BooksPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderByDescending(b => b.Title)) .Where(b => b.PublisherID == id) .ToList(); break; default: model.Books = booksRepository .GetAll(model.BooksPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderBy(b => b.Title)) .Where(b => b.PublisherID == id) .ToList(); break; } #endregion return(View(model)); } else { return(RedirectToAction("Index", "Publishers")); } }
public CreateEditPublisher() { InitializeComponent(); var context = new LibraryContext(); _publishersRepository = new PublishersRepository(context); createEditButton.Text = @"Create"; }
public ActionResult Index(string sortOrder) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); PublishersRepository publishersRepository = new PublishersRepository(context); PublishersIndexVM model = new PublishersIndexVM(); this.TryUpdateModel(model); model.PublishersPager = model.PublishersPager ?? new GenericPagerVM(); model.PublishersPager.CurrentPage = model.PublishersPager.CurrentPage == 0 ? 1 : model.PublishersPager.CurrentPage; model.PublishersPager.Action = "Index"; model.PublishersPager.Controller = "Publishers"; model.PublishersPager.Prefix = "PublishersPager"; model.PublishersPager.CurrentParameters = new Dictionary <string, object>() { { "PublisherName", model.PublisherName }, { "PublisherAddress", model.PublisherAddress }, { "PublishersPager.CurrentPage", model.PublishersPager.CurrentPage } }; #region Sorting and Filtering Expression <Func <Publisher, bool> > filter = p => (string.IsNullOrEmpty(model.PublisherName) || p.Name.Contains(model.PublisherName)) && (string.IsNullOrEmpty(model.PublisherAddress) || p.Address.Contains(model.PublisherAddress)); model.PublishersPager.PagesCount = GetPagesCount(filter); ViewBag.PublisherSortParam = string.IsNullOrEmpty(sortOrder) ? "publisher_desc" : ""; ViewBag.AddressSortParam = sortOrder == "Address" ? "address_desc" : "Address"; switch (sortOrder) { case "publisher_desc": model.PublishersList = publishersRepository .GetAll(model.PublishersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderByDescending(p => p.Name)) .ToList(); break; case "Address": model.PublishersList = publishersRepository .GetAll(model.PublishersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderBy(p => p.Address)) .ToList(); break; case "address_desc": model.PublishersList = publishersRepository .GetAll(model.PublishersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderByDescending(p => p.Address)) .ToList(); break; default: model.PublishersList = publishersRepository .GetAll(model.PublishersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderBy(p => p.Name)) .ToList(); break; } #endregion return(View(model)); }
public PublishersList() { InitializeComponent(); var context = new LibraryContext(); _publishersRepository = new PublishersRepository(context); FillPublishersListBox(); }
public PublisherAddForm() { InitializeComponent(); var context = new LibraryContext(); _publishersRepository = new PublishersRepository(context); FillBooks(); }
public ActionResult Details(int id, string sortOrder) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); PublishersRepository publishersRepository = new PublishersRepository(context); BooksRepository booksRepository = new BooksRepository(context); PublishersDetailsVM model = new PublishersDetailsVM(); this.TryUpdateModel(model); var publisher = publishersRepository.GetByID(id); if (publisher != null) { model.ID = publisher.ID; model.PublisherName = publisher.Name; model.Address = publisher.Address; model.BooksPager = model.BooksPager ?? new GenericPagerVM(); model.BooksPager.CurrentPage = model.BooksPager.CurrentPage == 0 ? 1 : model.BooksPager.CurrentPage; model.BooksPager.Action = "Details"; model.BooksPager.Controller = "Publishers"; model.BooksPager.Prefix = "BooksPager"; model.BooksPager.CurrentParameters = new Dictionary<string, object>() { { "BookTitle", model.BookTitle }, { "BooksPager.CurrentPage", model.BooksPager.CurrentPage } }; #region Sorting and Filtering Expression<Func<Book, bool>> filter = b => (string.IsNullOrEmpty(model.BookTitle) || b.Title.Contains(model.BookTitle)); model.BooksPager.PagesCount = GetPagesCount(filter); ViewBag.BookSortParam = string.IsNullOrEmpty(sortOrder) ? "book_desc" : ""; switch (sortOrder) { case "book_desc": model.Books = booksRepository .GetAll(model.BooksPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderByDescending(b => b.Title)) .Where(b => b.PublisherID == id) .ToList(); break; default: model.Books = booksRepository .GetAll(model.BooksPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderBy(b => b.Title)) .Where(b => b.PublisherID == id) .ToList(); break; } #endregion return View(model); } else { return RedirectToAction("Index", "Publishers"); } }
// List refresh methods private void RefreshRepositories() { var context = new LibraryContext(); _authorsRepository = new AuthorsRepository(context); _studentsRepository = new StudentsRepository(context); _publishersRepository = new PublishersRepository(context); _booksRepository = new BooksRepository(context); _loansRepository = new LoansRepository(context); }
public PublisherDetailsForm(string publisherId) { InitializeComponent(); var context = new LibraryContext(); _publishersRepository = new PublishersRepository(context); _publisher = _publishersRepository.GetPublisherById(int.Parse(publisherId)); FillDetails(); }
public void Verify_Get_ByKey_Should_ReturnTheCorrectPublisher() { // Arrange Mock <IDbSet <Publisher> > mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); // Act var publishers = repository.Get("KING-STEPHEN"); // Assert Assert.Equal("/TEST/KING-STEPHEN", publishers.ApiDetailUrl); }
public CreateEditPublisher(Publisher publisherToEdit) { InitializeComponent(); var context = new LibraryContext(); _publishersRepository = new PublishersRepository(context); _publisherToEdit = publisherToEdit; createEditButton.Text = @"Edit"; FillInputFields(); }
public void Verify_Add_Should_AddTheEntityToTheContext() { // Arrange Mock<IDbSet<Publisher>> mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(false, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); var publishers = new Publisher { Active = true, CustomKey = "SALVATORE-RAA", }; // Act repository.Add(publishers); // Assert mockSetPublishers.Verify(x => x.Add(publishers), Times.Once); }
public void Verify_Deactivate_Should_SetTheActivePropertyToFalseOnTheEntity() { // Arrange Mock<IDbSet<Publisher>> mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); var publishers = repository.Get(1); // Act repository.Deactivate(publishers); // Assert Assert.Equal(false, publishers.Active); }
public void Verify_Deactivate_Should_SetTheActivePropertyToFalseOnTheEntity() { // Arrange Mock <IDbSet <Publisher> > mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); var publishers = repository.Get(1); // Act repository.Deactivate(publishers); // Assert Assert.Equal(false, publishers.Active); }
public void Verify_Remove_Should_RemoveTheEntityFromTheContext() { // Arrange Mock <IDbSet <Publisher> > mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); var publishers = repository.Get(1); // Act repository.Remove(publishers); // Assert mockSetPublishers.Verify(x => x.Remove((Publisher)publishers), Times.Once); }
private void FillPublishersListBox() { publishersListBox.Items.Clear(); var context = new LibraryContext(); _publishersRepository = new PublishersRepository(context); foreach (var publisher in _publishersRepository.GetAllPublishers()) { publishersListBox.Items.Add($"{publisher.PublisherId}. {publisher.Name}"); } }
public void Verify_Update_Should_SetTheEntityStateToModified() { // Arrange Mock <IDbSet <Publisher> > mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); var publishers = repository.Get(1); publishers.ApiDetailUrl = "/TEST"; // Act repository.Update(publishers); // Assert mockContext.Verify(x => x.SetModified(It.IsAny <object>()), Times.Once); }
public void Verify_Add_Should_AddTheEntityToTheContext() { // Arrange Mock <IDbSet <Publisher> > mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(false, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); var publishers = new Publisher { Active = true, CustomKey = "SALVATORE-RAA", }; // Act repository.Add(publishers); // Assert mockSetPublishers.Verify(x => x.Add(publishers), Times.Once); }
public CreateEditBook() { InitializeComponent(); var context = new LibraryContext(); _booksRepository = new BooksRepository(context); _authorsRepository = new AuthorsRepository(context); _publishersRepository = new PublishersRepository(context); createEditButton.Text = @"Create"; RefreshPublishersAndAuthorsList(); RefreshGenres(); SearchAutoComplete(); }
public void Verify_Search_WithSelectStatement_Should_ReturnAListOfDynamicObjects() { // Arrange Mock <IDbSet <Publisher> > mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers, true); var repository = new PublishersRepository(mockContext.Object); var searchModel = new Mock <IPublisherSearchModel>(); // Act var publishers = repository.Search(searchModel.Object, i => new { i.Id, MyApiDetailUrl = i.ApiDetailUrl }).ToArray(); // Assert Assert.Equal(1, publishers.Length); Assert.Equal(2, publishers[0].Id); Assert.Equal("/TEST/NIVEN-LARRY", publishers[0].MyApiDetailUrl); // Stephen King was filtered out because he was Inactive }
public void Verify_List_Should_ReturnAListOfPublishersWithData() { // Arrange Mock <IDbSet <Publisher> > mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); // Act var publishers = repository.List.ToArray(); // Assert Assert.Equal(2, publishers.Length); Assert.Equal(1, publishers[0].Id); Assert.Equal("/TEST/KING-STEPHEN", publishers[0].ApiDetailUrl); Assert.Equal(2, publishers[1].Id); Assert.Equal("/TEST/NIVEN-LARRY", publishers[1].ApiDetailUrl); }
public int GetPagesCount(Expression <Func <Publisher, bool> > filter = null) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); PublishersRepository publishersRepository = new PublishersRepository(context); int pagesCount = 0; int pageSize = ApplicationConfiguration.ItemsPerPage; int publishersCount = 0; publishersCount = publishersRepository.Count(filter); pagesCount = publishersCount / pageSize; if ((publishersCount % pageSize) > 0) { pagesCount++; } return(pagesCount); }
public void Verify_Search_WithPaging_Should_ReturnAListOfPublishersWithDataMatchingSearchParameters() { // Arrange Mock <IDbSet <Publisher> > mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); var searchModel = new PublisherSearchModel { Paging = new Paging { Skip = 1, Take = 1 } }; // Act var publishers = repository.Search(searchModel /*.Object*/).ToArray(); // Assert Assert.Equal(1, publishers.Length); Assert.Equal(2, publishers[0].Id); Assert.Equal("/TEST/NIVEN-LARRY", publishers[0].ApiDetailUrl); // Stephen King was filtered out because he was Skipped }
public void Verify_Search_WithModifiedSince_Should_ReturnAListOfPublishersWithDataMatchingSearchParameters() { // Arrange Mock <IDbSet <Publisher> > mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers, true); var repository = new PublishersRepository(mockContext.Object); var createDate = new System.DateTime(2015, 05, 28, 10, 45, 00).AddDays(1).AddMinutes(-1); //var searchModel = new Mock<IPublisherSearchModel>(); //searchModel.Setup(m => m.ModifiedSince).Returns(() => createDate); var searchModel = new PublisherSearchModel { ModifiedSince = createDate }; // Act var publishers = repository.Search(searchModel /*.Object*/).ToArray(); // Assert Assert.Equal(1, publishers.Length); Assert.Equal(2, publishers[0].Id); Assert.Equal("/TEST/NIVEN-LARRY", publishers[0].ApiDetailUrl); // Stephen King was filtered out because he was created before the modified since date }
public ActionResult EditPublisher(int id) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); PublishersRepository publishersRepository = new PublishersRepository(context); PublishersEditPublisherVM model = new PublishersEditPublisherVM(); Publisher publisher = publishersRepository.GetByID(id); if (id > 0) { if (publisher == null) { return RedirectToAction("Index", "Publishers"); } model.ID = publisher.ID; model.Name = publisher.Name; model.Address = publisher.Address; } return View(model); }
public ActionResult EditPublisher(int id) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); PublishersRepository publishersRepository = new PublishersRepository(context); PublishersEditPublisherVM model = new PublishersEditPublisherVM(); Publisher publisher = publishersRepository.GetByID(id); if (id > 0) { if (publisher == null) { return(RedirectToAction("Index", "Publishers")); } model.ID = publisher.ID; model.Name = publisher.Name; model.Address = publisher.Address; } return(View(model)); }
public ActionResult EditBook(BooksEditBookVM model) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); BooksRepository booksRepository = new BooksRepository(context); PublishersRepository publishersRepository = new PublishersRepository(context); Book book = null; if (!ModelState.IsValid) { model.Publishers = model.Publishers ?? new List <SelectListItem>(); model.Publishers = SelectListHandler.Create <Publisher>( publishersRepository.GetAll(), p => p.Name, p => p.ID.ToString(), model.PublisherID.ToString()); return(View(model)); } else { if (model.ID > 0) { book = booksRepository.GetByID(model.ID); } else { book = new Book(); } book.ID = model.ID; book.Title = model.Title; book.PublisherID = model.PublisherID; book.StockCount = model.StockCount; book.DeliveryPrice = model.DeliveryPrice; book.DateReceived = model.DateReceived; book.DatePublished = model.DatePublished; booksRepository.Save(book); } return(RedirectToAction("Index", "Books")); }
public ActionResult EditBook(BooksEditBookVM model) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); BooksRepository booksRepository = new BooksRepository(context); PublishersRepository publishersRepository = new PublishersRepository(context); Book book = null; if (!ModelState.IsValid) { model.Publishers = model.Publishers ?? new List<SelectListItem>(); model.Publishers = SelectListHandler.Create<Publisher>( publishersRepository.GetAll(), p => p.Name, p => p.ID.ToString(), model.PublisherID.ToString()); return View(model); } else { if (model.ID > 0) { book = booksRepository.GetByID(model.ID); } else { book = new Book(); } book.ID = model.ID; book.Title = model.Title; book.PublisherID = model.PublisherID; book.StockCount = model.StockCount; book.DeliveryPrice = model.DeliveryPrice; book.DateReceived = model.DateReceived; book.DatePublished = model.DatePublished; booksRepository.Save(book); } return RedirectToAction("Index", "Books"); }
public ActionResult EditBook(int id) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); BooksRepository booksRepository = new BooksRepository(context); PublishersRepository publishersRepository = new PublishersRepository(context); BooksEditBookVM model = new BooksEditBookVM(); Book book = booksRepository.GetByID(id); if (id > 0) { if (book == null) { return RedirectToAction("Index", "Books"); } model.ID = book.ID; model.Title = book.Title; model.PublisherID = book.Publisher.ID; model.StockCount = book.StockCount; model.DeliveryPrice = book.DeliveryPrice; model.DateReceived = book.DateReceived; model.DatePublished = book.DatePublished; } else { book = new Book(); } model.Publishers = model.Publishers ?? new List<SelectListItem>(); model.Publishers = SelectListHandler.Create<Publisher>( publishersRepository.GetAll(), p => p.Name, p => p.ID.ToString(), model.PublisherID.ToString()); return View(model); }
public void Verify_Get_ByID_Should_ReturnTheCorrectPublisher() { // Arrange Mock<IDbSet<Publisher>> mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); // Act var publishers = repository.Get(1); // Assert Assert.Equal("/TEST/KING-STEPHEN", publishers.ApiDetailUrl); }
public void Verify_Update_Should_SetTheEntityStateToModified() { // Arrange Mock<IDbSet<Publisher>> mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); var publishers = repository.Get(1); publishers.ApiDetailUrl = "/TEST"; // Act repository.Update(publishers); // Assert mockContext.Verify(x => x.SetModified(It.IsAny<object>()), Times.Once); }
public int GetPagesCount(Expression<Func<Publisher, bool>> filter = null) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); PublishersRepository publishersRepository = new PublishersRepository(context); int pagesCount = 0; int pageSize = ApplicationConfiguration.ItemsPerPage; int publishersCount = 0; publishersCount = publishersRepository.Count(filter); pagesCount = publishersCount / pageSize; if ((publishersCount % pageSize) > 0) { pagesCount++; } return pagesCount; }
public void Verify_Search_WithPaging_Should_ReturnAListOfPublishersWithDataMatchingSearchParameters() { // Arrange Mock<IDbSet<Publisher>> mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); var searchModel = new PublisherSearchModel { Paging = new Paging { Skip = 1, Take = 1 } }; // Act var publishers = repository.Search(searchModel/*.Object*/).ToArray(); // Assert Assert.Equal(1, publishers.Length); Assert.Equal(2, publishers[0].Id); Assert.Equal("/TEST/NIVEN-LARRY", publishers[0].ApiDetailUrl); // Stephen King was filtered out because he was Skipped }
public void Verify_Remove_Should_RemoveTheEntityFromTheContext() { // Arrange Mock<IDbSet<Publisher>> mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); var publishers = repository.Get(1); // Act repository.Remove(publishers); // Assert mockSetPublishers.Verify(x => x.Remove((Publisher)publishers), Times.Once); }
public void Verify_List_Should_ReturnAListOfPublishersWithData() { // Arrange Mock<IDbSet<Publisher>> mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers); var repository = new PublishersRepository(mockContext.Object); // Act var publishers = repository.List.ToArray(); // Assert Assert.Equal(2, publishers.Length); Assert.Equal(1, publishers[0].Id); Assert.Equal("/TEST/KING-STEPHEN", publishers[0].ApiDetailUrl); Assert.Equal(2, publishers[1].Id); Assert.Equal("/TEST/NIVEN-LARRY", publishers[1].ApiDetailUrl); }
public ActionResult Index(string sortOrder) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); PublishersRepository publishersRepository = new PublishersRepository(context); PublishersIndexVM model = new PublishersIndexVM(); this.TryUpdateModel(model); model.PublishersPager = model.PublishersPager ?? new GenericPagerVM(); model.PublishersPager.CurrentPage = model.PublishersPager.CurrentPage == 0 ? 1 : model.PublishersPager.CurrentPage; model.PublishersPager.Action = "Index"; model.PublishersPager.Controller = "Publishers"; model.PublishersPager.Prefix = "PublishersPager"; model.PublishersPager.CurrentParameters = new Dictionary<string, object>() { { "PublisherName", model.PublisherName }, { "PublisherAddress", model.PublisherAddress }, { "PublishersPager.CurrentPage", model.PublishersPager.CurrentPage } }; #region Sorting and Filtering Expression<Func<Publisher, bool>> filter = p => (string.IsNullOrEmpty(model.PublisherName) || p.Name.Contains(model.PublisherName)) && (string.IsNullOrEmpty(model.PublisherAddress) || p.Address.Contains(model.PublisherAddress)); model.PublishersPager.PagesCount = GetPagesCount(filter); ViewBag.PublisherSortParam = string.IsNullOrEmpty(sortOrder) ? "publisher_desc" : ""; ViewBag.AddressSortParam = sortOrder == "Address" ? "address_desc" : "Address"; switch (sortOrder) { case "publisher_desc": model.PublishersList = publishersRepository .GetAll(model.PublishersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderByDescending(p => p.Name)) .ToList(); break; case "Address": model.PublishersList = publishersRepository .GetAll(model.PublishersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderBy(p => p.Address)) .ToList(); break; case "address_desc": model.PublishersList = publishersRepository .GetAll(model.PublishersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderByDescending(p => p.Address)) .ToList(); break; default: model.PublishersList = publishersRepository .GetAll(model.PublishersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, x => x.OrderBy(p => p.Name)) .ToList(); break; } #endregion return View(model); }
public ActionResult EditPublisher(PublishersEditPublisherVM model) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); PublishersRepository publishersRepository = new PublishersRepository(context); Publisher publisher = null; if (!ModelState.IsValid) { return View(model); } else { if (model.ID > 0) { publisher = publishersRepository.GetByID(model.ID); } else { publisher = new Publisher(); } publisher.ID = model.ID; publisher.Name = model.Name; publisher.Address = model.Address; publishersRepository.Save(publisher); } return RedirectToAction("Index", "Publishers"); }
public void Verify_Search_WithModifiedSince_Should_ReturnAListOfPublishersWithDataMatchingSearchParameters() { // Arrange Mock<IDbSet<Publisher>> mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers, true); var repository = new PublishersRepository(mockContext.Object); var createDate = new System.DateTime(2015, 05, 28, 10, 45, 00).AddDays(1).AddMinutes(-1); //var searchModel = new Mock<IPublisherSearchModel>(); //searchModel.Setup(m => m.ModifiedSince).Returns(() => createDate); var searchModel = new PublisherSearchModel { ModifiedSince = createDate }; // Act var publishers = repository.Search(searchModel/*.Object*/).ToArray(); // Assert Assert.Equal(1, publishers.Length); Assert.Equal(2, publishers[0].Id); Assert.Equal("/TEST/NIVEN-LARRY", publishers[0].ApiDetailUrl); // Stephen King was filtered out because he was created before the modified since date }
public void Verify_Search_WithSelectStatement_Should_ReturnAListOfDynamicObjects() { // Arrange Mock<IDbSet<Publisher>> mockSetPublishers; var mockContext = PublishersMockingSetup.DoMockingSetupForContext(true, out mockSetPublishers, true); var repository = new PublishersRepository(mockContext.Object); var searchModel = new Mock<IPublisherSearchModel>(); // Act var publishers = repository.Search(searchModel.Object, i => new { i.Id, MyApiDetailUrl = i.ApiDetailUrl }).ToArray(); // Assert Assert.Equal(1, publishers.Length); Assert.Equal(2, publishers[0].Id); Assert.Equal("/TEST/NIVEN-LARRY", publishers[0].MyApiDetailUrl); // Stephen King was filtered out because he was Inactive }