Пример #1
0
        public async Task <IActionResult> Register([Bind("Username,Userpassword", "Profession", "Surname", "Profilename")] RegisterMember registerMember)
        {
            if (ModelState.IsValid)
            {
                var newProfile = new Profiles();
                var newMember  = new Members();
                newProfile.Profilename  = registerMember.Profilename;
                newProfile.Surname      = registerMember.Surname;
                newProfile.Username     = registerMember.Username;
                newProfile.Userpassword = registerMember.Userpassword;
                var maxId = _context.Profiles.Max(x => x.Id);
                newProfile.Id = ++maxId;
                _context.Add(newProfile);
                await _context.SaveChangesAsync();

                var id = _context.Profiles.Where(x => x.Username == registerMember.Username && x.Userpassword == registerMember.Userpassword).FirstOrDefault().Id;
                newMember.Profileid        = id;
                newMember.Profession       = registerMember.Profession;
                newMember.Registrationdate = DateTime.Now;
                _context.Add(newMember);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View("Index"));
        }
Пример #2
0
        public async Task <IActionResult> Create([Bind("Authorname")] Authors authors)
        {
            if (ModelState.IsValid)
            {
                Authors author = new Authors();
                var     maxId  = 0;
                if (_context.Books.Count() == 0)
                {
                    maxId = 0;
                }
                else
                {
                    maxId = _context.Books.Max(x => x.Id);
                }
                author.Id         = ++maxId;
                author.Authorname = authors.Authorname;
                _context.Add(author);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewBag.UserId   = _httpContextAccessor.HttpContext.Request.Cookies["id"];
            ViewBag.UserName = _httpContextAccessor.HttpContext.Request.Cookies["username"];
            ViewBag.UserRole = _httpContextAccessor.HttpContext.Request.Cookies["userrole"];
            return(View(authors));
        }
Пример #3
0
        public async Task <IActionResult> Create([Bind("LibraryName,Price,BookName")] SampleCreateModel samples)
        {
            if (ModelState.IsValid)
            {
                Samples sample    = new Samples();
                var     libraryId = _context.Libraries.Where(x => x.Libraryname == samples.LibraryName).FirstOrDefault();
                var     bookId    = _context.Books.Where(x => x.Bookname == samples.BookName).FirstOrDefault();
                sample.Price        = samples.Price;
                sample.Bookid       = bookId.Id;
                sample.Libraryid    = libraryId.Id;
                sample.Samplestatus = true;
                var maxId = 0;
                if (_context.Samples.Count() == 0)
                {
                    maxId = 0;
                }
                else
                {
                    maxId = _context.Samples.Max(x => x.Id);
                }
                sample.Id = ++maxId;
                _context.Add(sample);
                await _context.SaveChangesAsync();

                var book = _context.Books.Where(x => x.Id == bookId.Id).FirstOrDefault();
                book.Numberofsamples++;
                _context.Update(book);
                await _context.SaveChangesAsync();

                var library = _context.Libraries.Where(x => x.Id == libraryId.Id).FirstOrDefault();
                library.Numberofbooks++;
                _context.Update(library);
                Addedby addedby = new Addedby();
                addedby.Profileid = Int32.Parse(_httpContextAccessor.HttpContext.Request.Cookies["id"]);
                addedby.Sampleid  = maxId;
                _context.Add(addedby);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewBag.UserId   = _httpContextAccessor.HttpContext.Request.Cookies["id"];
            ViewBag.UserName = _httpContextAccessor.HttpContext.Request.Cookies["username"];
            ViewBag.UserRole = _httpContextAccessor.HttpContext.Request.Cookies["userrole"];
            return(View(samples));
        }
Пример #4
0
        public async Task <IActionResult> Create([Bind("BookId,ReservationDate")] MakeReservation makeReservation)
        {
            if (ModelState.IsValid)
            {
                TimeSpan razlika = makeReservation.ReservationDate - System.DateTime.Now;
                if (razlika.Days <= 3)
                {
                    Reservations reservation = new Reservations();
                    reservation.Reservationstatus = false;
                    reservation.Reservationdate   = makeReservation.ReservationDate;
                    reservation.Profileid         = Int32.Parse(_httpContextAccessor.HttpContext.Request.Cookies["id"]);
                    var maxId = 0;
                    if (_context.Reservations.Count() == 0)
                    {
                        maxId = 0;
                    }
                    else
                    {
                        maxId = _context.Reservations.Max(x => x.Id);
                    }
                    reservation.Id = ++maxId;
                    _context.Add(reservation);
                    await _context.SaveChangesAsync();

                    int        newId      = reservation.Id;
                    Reservedby reservedBy = new Reservedby();
                    reservedBy.Bookid        = makeReservation.BookId;
                    reservedBy.Reservationid = newId;
                    _context.Add(reservedBy);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    ViewBag.Error = "true";
                    return(RedirectToAction(nameof(Index)));
                }
            }
            //ViewData["Books"] = new SelectList(_context.Books, "Id", "Bookname", makeReservation.BookId);
            ViewBag.UserId   = _httpContextAccessor.HttpContext.Request.Cookies["id"];
            ViewBag.UserName = _httpContextAccessor.HttpContext.Request.Cookies["username"];
            ViewBag.UserRole = _httpContextAccessor.HttpContext.Request.Cookies["userrole"];
            return(View(makeReservation));
        }
Пример #5
0
        public async Task <IActionResult> Create([Bind("Profileid,Profession,Registrationdate")] Members members)
        {
            if (ModelState.IsValid)
            {
                _context.Add(members);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["Profileid"] = new SelectList(_context.Profiles, "Id", "Username", members.Profileid);
            return(View(members));
        }
Пример #6
0
        public async Task <IActionResult> Create([Bind("Numberofpages,Genre,Booklanguage,Bookname,Plot,AuthorName")] BookCreateModel books)
        {
            if (ModelState.IsValid)
            {
                var maxId = 0;
                if (_context.Books.Count() == 0)
                {
                    maxId = 0;
                }
                else
                {
                    maxId = _context.Books.Max(x => x.Id);
                }
                var book = new Books();
                book.Id              = ++maxId;
                book.Numberofpages   = books.Numberofpages;
                book.Genre           = books.Genre;
                book.Booklanguage    = books.Booklanguage;
                book.Bookname        = books.Bookname;
                book.Plot            = books.Plot;
                book.Numberofsamples = 0;
                _context.Add(book);
                await _context.SaveChangesAsync();

                //dodadi red vo writtenby tabelata
                var author = _context.Authors.Where(x => x.Authorname == books.AuthorName).FirstOrDefault();
                var row    = new Writtenby();
                row.Authorid = author.Id;
                row.Bookid   = book.Id;
                _context.Add(row);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewBag.UserId   = _httpContextAccessor.HttpContext.Request.Cookies["id"];
            ViewBag.UserName = _httpContextAccessor.HttpContext.Request.Cookies["username"];
            ViewBag.UserRole = _httpContextAccessor.HttpContext.Request.Cookies["userrole"];
            return(View(books));
        }
Пример #7
0
        public async Task <IActionResult> Create([Bind("Id,Username,Userpassword,Profilename,Surname")] Profiles profiles)
        {
            if (ModelState.IsValid)
            {
                _context.Add(profiles);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewBag.UserId   = _httpContextAccessor.HttpContext.Request.Cookies["id"];
            ViewBag.UserName = _httpContextAccessor.HttpContext.Request.Cookies["username"];
            ViewBag.UserRole = _httpContextAccessor.HttpContext.Request.Cookies["userrole"];
            return(View(profiles));
        }
Пример #8
0
        public async Task <IActionResult> Create([Bind("BookId,UserName,BorrowDate,ExpirationDate")] MakeBorrowing makeBorrowing)
        {
            if (ModelState.IsValid)
            {
                var profile = _context.Profiles.Where(x => x.Username == makeBorrowing.UserName).FirstOrDefault();
                if (_context.Borrowings.Where(x => x.Profileid == profile.Id && x.Returndate == null).ToList().Count == 0)
                {
                    //add new borrowing
                    Borrowings borrowing = new Borrowings();
                    borrowing.Borrowdate     = makeBorrowing.BorrowDate;
                    borrowing.Expirationdate = makeBorrowing.ExpirationDate;

                    borrowing.Profileid = profile.Id;
                    Samples sampleToBorrow = _context.Samples.Where(x => x.Bookid == makeBorrowing.BookId && x.Samplestatus == true).OrderBy(x => x.Id).First();
                    borrowing.Sampleid = sampleToBorrow.Id;
                    var maxId = 0;
                    if (_context.Borrowings.Count() == 0)
                    {
                        maxId = 0;
                    }
                    else
                    {
                        maxId = _context.Borrowings.Max(x => x.Id);
                    }
                    borrowing.Id = ++maxId;
                    _context.Add(borrowing);
                    //sample status false
                    sampleToBorrow.Samplestatus = false;
                    _context.Update(sampleToBorrow);
                    //decrement number of samples for borrowed book
                    Books book = _context.Books.Where(x => x.Id == sampleToBorrow.Bookid).FirstOrDefault();
                    book.Numberofsamples = book.Numberofsamples - 1;
                    _context.Update(book);
                    await _context.SaveChangesAsync();

                    ViewBag.UserId   = _httpContextAccessor.HttpContext.Request.Cookies["id"];
                    ViewBag.UserName = _httpContextAccessor.HttpContext.Request.Cookies["username"];
                    ViewBag.UserRole = _httpContextAccessor.HttpContext.Request.Cookies["userrole"];
                    ViewBag.Error    = "true";
                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    ViewBag.UserId   = _httpContextAccessor.HttpContext.Request.Cookies["id"];
                    ViewBag.UserName = _httpContextAccessor.HttpContext.Request.Cookies["username"];
                    ViewBag.UserRole = _httpContextAccessor.HttpContext.Request.Cookies["userrole"];
                    ViewBag.Error    = "true";
                    var list = _context.Borrowings.Join(_context.Samples,
                                                        borrowing => borrowing.Sampleid,
                                                        sample => sample.Id,
                                                        (borrowing, sample) => new
                    {
                        Id             = borrowing.Id,
                        Borrowdate     = borrowing.Borrowdate,
                        Expirationdate = borrowing.Expirationdate,
                        Returndate     = borrowing.Returndate,
                        Bookid         = sample.Bookid,
                        Profileid      = borrowing.Profileid,
                        Sampleid       = borrowing.Sampleid
                    }).Join(_context.Books,
                            bs => bs.Bookid,
                            book => book.Id,
                            (bs, book) => new BorrowingGridModel
                    {
                        Id             = bs.Id,
                        Bookname       = book.Bookname,
                        Borrowdate     = bs.Borrowdate,
                        Expirationdate = bs.Expirationdate,
                        Returndate     = bs.Returndate,
                        Bookid         = bs.Bookid,
                        Profileid      = bs.Profileid,
                        Sampleid       = bs.Sampleid
                    });
                    ViewBag.UserId   = _httpContextAccessor.HttpContext.Request.Cookies["id"];
                    ViewBag.UserName = _httpContextAccessor.HttpContext.Request.Cookies["username"];
                    ViewBag.UserRole = _httpContextAccessor.HttpContext.Request.Cookies["userrole"];
                    return(View("Index", await list.ToListAsync()));
                }
            }
            //zemi gi usernames samo na members od profiles
            var members = _context.Members.Join(_context.Profiles,
                                                member => member.Profileid,
                                                profile => profile.Id,
                                                (member, profile) => new
            {
                UserName = profile.Username
            }).ToArray().ToList();

            List <Books> books = _context.Books.Where(x => x.Numberofsamples > 0).ToList();

            ViewData["Books"]   = new SelectList(books, "Id", "Bookname");
            ViewData["Members"] = new SelectList(members, "UserName", "UserName");
            ViewBag.UserId      = _httpContextAccessor.HttpContext.Request.Cookies["id"];
            ViewBag.UserName    = _httpContextAccessor.HttpContext.Request.Cookies["username"];
            ViewBag.UserRole    = _httpContextAccessor.HttpContext.Request.Cookies["userrole"];
            return(View());
        }