Beispiel #1
0
        // 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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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()
            }));
        }
Beispiel #10
0
        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));
        }
Beispiel #11
0
        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));
        }
Beispiel #12
0
        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));
        }
Beispiel #13
0
        // 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));
        }
Beispiel #15
0
        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));
        }
Beispiel #18
0
        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));
        }
Beispiel #20
0
        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));
        }