// GET: Loans public ActionResult Index(string searchString) { LibraryDal dal = new LibraryDal(); LoansViewModel model = new LoansViewModel(); model.Loans = dal.LoansList(); model.Loans = model.Loans.OrderByDescending(l => l.StartDate).ToList(); model.BookTitles = new List <string>(); model.ClientsFirstNames = new List <string>(); model.ClientsLastNames = new List <string>(); foreach (ClientBook loan in model.Loans) { Book book = dal.GetBookById(loan.BookId); Client client = dal.GetClientById(loan.ClientId); model.BookTitles.Add(book.Title); model.ClientsFirstNames.Add(client.FirstName); model.ClientsLastNames.Add(client.LastName); } if (!String.IsNullOrEmpty(searchString)) { model.Loans = model.Loans.Where(l => dal.GetBookById(l.BookId).Title.Contains(searchString) || dal.GetBookById(l.BookId).ISBN.Contains(searchString) || dal.GetClientById(l.ClientId).FirstName.Contains(searchString) || dal.GetClientById(l.ClientId).LastName.Contains(searchString) || dal.GetClientById(l.ClientId).CIN.Contains(searchString)).ToList(); } return(View(model)); }
public ActionResult EditClient(int id) { LibraryDal dal = new LibraryDal(); EditClientViewModel model = new EditClientViewModel(); model.clientId = id; model.client = dal.GetClientById(id); model.oldCIN = model.client.CIN; List <ClientCategory> categories = dal.GetClientCategories(); List <SelectListItem> selections = new List <SelectListItem>(); foreach (ClientCategory category in categories) { selections.Add(new SelectListItem { Text = category.ClientCategoryName, Value = category.Id.ToString() }); } model.CategorySelection = selections; if (model.client == null) { return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult EditBook(EditBookViewModel model) { LibraryDal dal = new LibraryDal(); Book newBook = new Book() { ISBN = model.book.ISBN, Title = model.book.Title, TotalQuantity = model.book.TotalQuantity, Archived = model.book.Archived }; if (ModelState.IsValid) { if (model.oldISBN != newBook.ISBN) { Book newIsbnBook = dal.GetBookByISBN(newBook.ISBN); if (newIsbnBook != null) { model.alreadyExists = true; return(View(model)); } dal.UpdateBook(dal.GetBookById(model.bookId), newBook); return(RedirectToAction("Index")); } dal.UpdateBook(dal.GetBookById(model.bookId), newBook); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult CreateNew(CreateNewViewModel model) { Book book = new Book() { Title = model.book.Title, ISBN = model.book.ISBN, TotalQuantity = model.book.TotalQuantity, Archived = model.book.Archived }; LibraryDal dal = new LibraryDal(); if (ModelState.IsValid) { if (dal.GetBookByISBN(book.ISBN) != null) { model.alreadyExists = true; return(View(model)); } dal.AddNewBook(book); return(Redirect("Index")); } if (dal.GetBookByISBN(book.ISBN) != null) { model.alreadyExists = true; } else { model.alreadyExists = false; } return(View(model)); }
public ActionResult EditClientCategory(int id) { LibraryDal dal = new LibraryDal(); EditClientCategoryViewModel model = new EditClientCategoryViewModel(); model.clientCategory = dal.GetClientCategory(id); return(View(model)); }
public ActionResult Index() { LibraryDal dal = new LibraryDal(); ClientCategoriesViewModel model = new ClientCategoriesViewModel(); model.ClientCategoies = dal.GetClientCategories(); return(View(model)); }
public ActionResult Delete(int id) { LibraryDal dal = new LibraryDal(); dal.DeleteClientCategory(dal.GetClientCategory(id).Id); return(View("Index", new ClientCategoriesViewModel { ClientCategoies = dal.GetClientCategories() })); }
public ActionResult EditClient(EditClientViewModel model) { LibraryDal dal = new LibraryDal(); List <ClientCategory> categories = dal.GetClientCategories(); List <SelectListItem> selections = new List <SelectListItem>(); foreach (ClientCategory category in categories) { selections.Add(new SelectListItem { Text = category.ClientCategoryName, Value = category.Id.ToString() }); } model.CategorySelection = selections; int id; Int32.TryParse(model.SelectedCategoryId, out id); model.client.Category = dal.GetClientCategory(id); if (model.client.Category != null) { ModelState.Remove("client.Category"); } Client newClient = new Client { CIN = model.client.CIN, FirstName = model.client.FirstName, LastName = model.client.LastName, Email = model.client.Email, Category = model.client.Category }; if (ModelState.IsValid) { if (model.oldCIN != newClient.CIN) { Client newCINClient = dal.GetClientByCIN(newClient.CIN); if (newCINClient != null) { model.alreadyExists = true; return(View(model)); } dal.UpdateClient(dal.GetClientById(model.clientId), newClient); return(RedirectToAction("Index")); } dal.UpdateClient(dal.GetClientById(model.clientId), newClient); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult Delete(int id) { LibraryDal dal = new LibraryDal(); dal.DeleteClient(dal.GetClientById(id)); return(View("Index", new ClientsViewModel() { Clients = dal.ClientsList() })); }
public ActionResult EditLoan(int clientId, int bookId) { LibraryDal dal = new LibraryDal(); EditLoanViewModel model = new EditLoanViewModel(); model.clientId = clientId; model.bookId = bookId; model.loan = dal.GetLoan(clientId, bookId); return(View(model)); }
public ActionResult EditLoan(EditLoanViewModel model) { LibraryDal dal = new LibraryDal(); ClientBook oldLoan = dal.GetLoan(model.clientId, model.bookId); if (ModelState.IsValid && oldLoan != null) { dal.UpdateLoan(oldLoan, model.loan); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult AddLoan(int clientId) { LibraryDal dal = new LibraryDal(); AddLoanViewModel model = new AddLoanViewModel(); Client client = dal.GetClientById(clientId); model.loan = new ClientBook(); model.loan.ClientId = clientId; model.loan.LoanDuration = client.Category.LoanDuration; return(View(model)); }
// GET: Books public ActionResult Index(string searchString) { LibraryDal dal = new LibraryDal(); BooksViewModel model = new BooksViewModel(); model.BookList = dal.BookList(); if (!String.IsNullOrEmpty(searchString)) { model.BookList = model.BookList.Where(b => b.Title.Contains(searchString) || b.ISBN.Contains(searchString)).ToList(); } return(View(model)); }
// GET: Clients public ActionResult Index(string searchString) { ClientsViewModel model = new ClientsViewModel(); LibraryDal dal = new LibraryDal(); model.Clients = dal.ClientsList(); if (!String.IsNullOrEmpty(searchString)) { model.Clients = model.Clients.Where(c => c.FirstName.Contains(searchString) || c.LastName.Contains(searchString) || c.CIN.Contains(searchString)).ToList(); } return(View(model)); }
public ActionResult EditBook(int id) { LibraryDal dal = new LibraryDal(); EditBookViewModel model = new EditBookViewModel(); model.bookId = id; model.book = dal.GetBookById(id); model.oldISBN = model.book.ISBN; if (model.book == null) { return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult CreateNewCategory(CreateNewCategoryViewModel model) { ClientCategory category = new ClientCategory() { ClientCategoryName = model.Category.ClientCategoryName, LoanDuration = model.Category.LoanDuration, MaxLoans = model.Category.MaxLoans }; LibraryDal dal = new LibraryDal(); dal.AddNewClientCategory(category); return(View("Index", new ClientCategoriesViewModel { ClientCategoies = dal.GetClientCategories() })); }
public ActionResult CreateNewClient() { CreateNewClientViewModel model = new CreateNewClientViewModel(); LibraryDal dal = new LibraryDal(); List <ClientCategory> categories = dal.GetClientCategories(); List <SelectListItem> selections = new List <SelectListItem>(); foreach (ClientCategory category in categories) { selections.Add(new SelectListItem { Text = category.ClientCategoryName, Value = category.Id.ToString() }); } model.CategorySelection = selections; return(View(model)); }
public ActionResult AddLoan(AddLoanViewModel model) { LibraryDal dal = new LibraryDal(); Book book = dal.GetBookByISBN(model.ISBN); if (book != null) { model.bookFound = true; model.loan.BookId = book.Id; dal.AddLoan(model.loan); return(RedirectToAction("Index")); } else { model.bookFound = false; } return(View(model)); }
public ActionResult EditClientCategory(EditClientCategoryViewModel model) { LibraryDal dal = new LibraryDal(); if (ModelState.IsValid) { ClientCategory newCategroy = new ClientCategory { ClientCategoryName = model.clientCategory.ClientCategoryName, LoanDuration = model.clientCategory.LoanDuration, MaxLoans = model.clientCategory.MaxLoans }; dal.UpdateClientCategory(dal.GetClientCategory(model.id), newCategroy); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult Delete(int id) { LibraryDal dal = new LibraryDal(); foreach (ClientBook loan in dal.LoansList()) { if (loan.BookId == id) { ViewBag.ErrorScript = @"<script>alert('This book is used in an active loan')</script>"; return(View("Index", new BooksViewModel { BookList = dal.BookList() })); } } ViewBag.ErroScript = String.Empty; dal.DeleteBook(dal.GetBookById(id).Id); return(View("Index", new BooksViewModel { BookList = dal.BookList() })); }
public ActionResult CreateNewClient(CreateNewClientViewModel model) { LibraryDal dal = new LibraryDal(); List <ClientCategory> categories = dal.GetClientCategories(); List <SelectListItem> selections = new List <SelectListItem>(); foreach (ClientCategory category in categories) { selections.Add(new SelectListItem { Text = category.ClientCategoryName, Value = category.Id.ToString() }); } model.CategorySelection = selections; int id; Int32.TryParse(model.SelectedCategoryId, out id); model.client.Category = dal.GetClientCategory(id); if (model.client.Category != null) { ModelState.Remove("client.Category"); } Client client = new Client() { FirstName = model.client.FirstName, LastName = model.client.LastName, CIN = model.client.CIN, Email = model.client.Email, Category = model.client.Category }; if (ModelState.IsValid) { if (dal.GetClientByCIN(client.CIN) != null) { model.validCIN = false; return(View(model)); } dal.AddNewClient(client); return(View("index", new ClientsViewModel() { Clients = dal.ClientsList() })); } if (dal.GetClientByCIN(client.CIN) != null) { model.validCIN = false; } else { model.validCIN = true; } //model.client = client; return(View(model)); }