Пример #1
0
        public async Task <IActionResult> ConfirmReservation(int id)
        {
            Reservations reservations = _context.Reservations.Where(x => x.Id == id).SingleOrDefault();

            if (reservations == null)
            {
                return(NotFound());
            }

            try
            {
                reservations.Reservationstatus = true;
                _context.Update(reservations);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ReservationsExists(reservations.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            ViewBag.UserId   = _httpContextAccessor.HttpContext.Request.Cookies["id"];
            ViewBag.UserName = _httpContextAccessor.HttpContext.Request.Cookies["username"];
            ViewBag.UserRole = _httpContextAccessor.HttpContext.Request.Cookies["userrole"];
            return(RedirectToAction(nameof(Index)));
        }
Пример #2
0
        public async Task <IActionResult> Edit(int id, [Bind("Profileid,Profession,Registrationdate")] Members members)
        {
            if (id != members.Profileid)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(members);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MembersExists(members.Profileid))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["Profileid"] = new SelectList(_context.Profiles, "Id", "Username", members.Profileid);
            return(View(members));
        }
Пример #3
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Numberofpages,Genre,Booklanguage,Bookname,Plot")] Books books)
        {
            if (id != books.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(books);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!BooksExists(books.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                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));
        }
Пример #4
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Authorname")] Authors authors)
        {
            if (id != authors.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(authors);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AuthorsExists(authors.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                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));
        }
Пример #5
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));
        }
Пример #6
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());
        }