예제 #1
0
        public ActionResult Index()
        {
            ReaderRepository rep     = new ReaderRepository(AppConfig.ConnectionString);
            List <Reader>    readers = rep.GetAll();

            return(View(readers));
        }
        public ActionResult Edit(BookStatus model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            bool IsReader                   = false;
            BookStatusRepository rep        = new BookStatusRepository(AppConfig.ConnectionString);
            ReaderRepository     repo       = new ReaderRepository(AppConfig.ConnectionString);
            List <Reader>        readers    = repo.GetAll();
            BookStatus           bookStatus = new BookStatus();

            for (int i = 0; i < readers.Count; i++)
            {
                if (readers[i].Id == model.ReaderId)
                {
                    IsReader = true;
                }
            }

            BookRepository repos   = new BookRepository(AppConfig.ConnectionString);
            bool           IsTitle = false;
            List <Book>    books   = repos.GetAll();

            for (int i = 0; i < books.Count; i++)
            {
                if (books[i].Title == model.Title)
                {
                    IsTitle = true;
                }
            }

            if (IsTitle == true && IsReader == true)
            {
                bookStatus.Id           = model.Id;
                bookStatus.Title        = model.Title;
                bookStatus.ReaderId     = model.ReaderId;
                bookStatus.BorrowDate   = model.BorrowDate;
                bookStatus.ReturnDate   = model.ReturnDate;
                bookStatus.ReturnedDate = model.ReturnedDate;
                rep.Save(bookStatus);
                return(RedirectToAction("Index"));
            }
            else if (IsTitle == true && IsReader == false)
            {
                ViewBag.error = "No Reader with that Id !!!";
                return(View());
            }
            else if (IsTitle == false && IsReader == true)
            {
                ViewBag.error = "No Book with that Title !!!";
                return(View());
            }
            else
            {
                ViewBag.error = "Wrong Title and ReaderId !!!";
                return(View());
            }
        }
예제 #3
0
 List <Reader> GetReaders()
 {
     using (MyAppContext appContext = new MyAppContext())
     {
         ReaderRepository readerRepository = new ReaderRepository(appContext);
         return((List <Reader>)readerRepository.GetAll());
     }
 }
예제 #4
0
        public ActionResult Index()
        {
            ReaderRepository repository = new ReaderRepository();
            List <Reader>    readers    = repository.GetAll();

            ReaderListViewModel model = new ReaderListViewModel();

            model.Readers = readers;

            return(View(model));
        }
        private List <SelectListItem> PopuateReadersList()
        {
            List <SelectListItem> result     = new List <SelectListItem>();
            ReaderRepository      readerRepo = new ReaderRepository();
            List <Reader>         readers    = readerRepo.GetAll();

            foreach (Reader reader in readers)
            {
                SelectListItem item = new SelectListItem();
                item.Value = reader.Id.ToString();
                item.Text  = $"{reader.firstName} {reader.lastName}";

                result.Add(item);
            }

            return(result);
        }
예제 #6
0
        public MainViewController(DbContext dbContext)
        {
            booksRepo   = new BookRepository(dbContext);
            readersRepo = new ReaderRepository(dbContext);
            authorsRepo = new AuthorRepository(dbContext);


            CommandsHandler = new Dictionary <string, Func <MainViewArgs, object> >
            {
                #region booksCRUD
                {
                    "get_books",
                    x =>
                    {
                        string res = "";
                        foreach (var book in booksRepo.GetAll())
                        {
                            res += (book.ToString() + "\n");
                        }
                        return(res);
                    }
                },
                {
                    "get_book",
                    x =>
                    {
                        return(booksRepo.Get(x.BookId).ToString());
                    }
                },
                {
                    "delete_book",
                    x =>
                    {
                        booksRepo.Remove(x.BookId);
                        return(okMessage);
                    }
                },
                {
                    "insert_book",
                    x =>
                    {
                        booksRepo.CreateOrUpdate(x.Book);
                        return(okMessage);
                    }
                },
                {
                    "update_book",
                    x =>
                    {
                        booksRepo.CreateOrUpdate(x.Book);
                        return(okMessage);
                    }
                },
                #endregion
                #region booksAuthors
                {
                    "AddAuthorToBook",
                    x =>
                    {
                        booksRepo.Get(x.BookId).Authors.Add(authorsRepo.Get(x.AuthorId));
                        return(okMessage);
                    }
                },
                {
                    "DeleteAuthorFromBook",
                    x =>
                    {
                        booksRepo.Get(x.BookId).Authors.Remove(authorsRepo.Get(x.AuthorId));
                        return(okMessage);
                    }
                },
                {
                    "GetAuthorsOfBook",
                    x =>
                    {
                        string res = "";
                        foreach (var author in booksRepo.Get(x.BookId).Authors)
                        {
                            res += (author.ToString() + "\n");
                        }
                        return(res);
                    }
                },
                #endregion
                #region booksReaders
                {
                    "AddReaderToBook",
                    x =>
                    {
                        booksRepo.Get(x.BookId).Readers.Add(readersRepo.Get(x.ReaderId));
                        return(okMessage);
                    }
                },
                {
                    "DeleteReaderFromBook",
                    x =>
                    {
                        booksRepo.Get(x.BookId).Readers.Remove(readersRepo.Get(x.ReaderId));
                        return(okMessage);
                    }
                },
                {
                    "GetReadersOfBook",
                    x =>
                    {
                        string res = "";
                        foreach (var reader in booksRepo.Get(x.BookId).Readers)
                        {
                            res += (reader.ToString() + "\n");
                        }
                        return(res);
                    }
                },
                #endregion
                #region authorsCRUD
                {
                    "get_authors",
                    x =>
                    {
                        string res = "";
                        foreach (var author in authorsRepo.GetAll())
                        {
                            res += (author.ToString() + "\n");
                        }
                        return(res);
                    }
                },
                {
                    "get_author",
                    x =>
                    {
                        return(authorsRepo.Get(x.AuthorId).ToString());
                    }
                },
                {
                    "delete_author",
                    x =>
                    {
                        authorsRepo.Remove(x.AuthorId);
                        return(okMessage);
                    }
                },
                {
                    "insert_author",
                    x =>
                    {
                        authorsRepo.CreateOrUpdate(x.Author);
                        return(okMessage);
                    }
                },
                {
                    "update_author",
                    x =>
                    {
                        authorsRepo.CreateOrUpdate(x.Author);
                        return(okMessage);
                    }
                },
                {
                    "get_authorsbooks",
                    x =>
                    {
                        string res = "";
                        foreach (var book in authorsRepo.Get(x.AuthorId).Books)
                        {
                            res += (book.ToString() + "\n");
                        }
                        return(res);
                    }
                },
                #endregion
                #region readersCRUD
                {
                    "get_readers",
                    x =>
                    {
                        string res = "";
                        foreach (var reader in readersRepo.GetAll())
                        {
                            res += (reader.ToString() + "\n");
                        }
                        return(res);
                    }
                },
                {
                    "get_reader",
                    x =>
                    {
                        return(readersRepo.Get(x.ReaderId).ToString());
                    }
                },
                {
                    "delete_reader",
                    x =>
                    {
                        readersRepo.Remove(x.ReaderId);
                        return(okMessage);
                    }
                },
                {
                    "insert_reader",
                    x =>
                    {
                        readersRepo.CreateOrUpdate(x.Reader);
                        return(okMessage);
                    }
                },
                {
                    "update_reader",
                    x =>
                    {
                        readersRepo.CreateOrUpdate(x.Reader);
                        return(okMessage);
                    }
                },
                {
                    "get_readersbooks",
                    x =>
                    {
                        string res = "";
                        foreach (var book in readersRepo.Get(x.ReaderId).Books)
                        {
                            res += (book.ToString() + "\n");
                        }
                        return(res);
                    }
                },
                #endregion
                {
                    "add_random_authors",
                    x =>
                    {
                        return(GetBooLReturnMessage(authorsRepo.AddRandomAuthorsToDB(x.RandomCount)));
                    }
                },
                {
                    "search_books",
                    x =>
                    {
                        string res = "";
                        foreach (var book in booksRepo.SearchBooks(x.SearchBookParameters.title, x.SearchBookParameters.minPagesCount, x.SearchBookParameters.maxPagesCount))
                        {
                            res += (book.ToString() + "\n");
                        }
                        return(res);
                    }
                },
                {
                    "search_authors",
                    x =>
                    {
                        string res = "";
                        foreach (var author in authorsRepo.SearchAuthors(x.SearchAuthorParameters.Signature, x.SearchAuthorParameters.Name, x.SearchAuthorParameters.MinDate))
                        {
                            res += (author.ToString() + "\n");
                        }
                        return(res);
                    }
                },
                {
                    "search_readers",
                    x =>
                    {
                        string res = "";
                        foreach (var reader in readersRepo.SearchReaders(x.SearchReaderParameters.Favouritegenre, x.SearchReaderParameters.Name, x.SearchReaderParameters.Surname))
                        {
                            res += (reader.ToString() + "\n");
                        }
                        return(res);
                    }
                },
            };
        }