private IEnumerable <Book> GetBooksInCart(int userId) { IEnumerable <OrdersBook> bookInBasket; IEnumerable <Book> books; List <Book> booksInOrder = new List <Book>(); using (ISession session = NHibernateSessions.OpenSession()) { books = session.Query <Book>().ToList(); bookInBasket = session.Query <OrdersBook>().Where(x => x.OrderID == IsAnyOrderExist(userId)).ToList(); } books = books.AsQueryable(); foreach (var item in bookInBasket) { var id = (long)item.BookID; var book = books.Where(x => x.Id == id).First(); booksInOrder.Add(new Book { Author = book.Author, Genre = book.Genre, Price = book.Price, Title = book.Title }); } return(booksInOrder.AsEnumerable()); }
private int IsAnyOrderExist(int userId) { using (ISession session = NHibernateSessions.OpenSession()) { var isOrderActive = session.Query <Orders>().Where(x => x.UserID.Id == userId).Where(x => x.Active == true).FirstOrDefault(); if (isOrderActive == null) { return(0); } else { return(isOrderActive.Id); } } }
private void CreateNewOrder(int userId) { using (ISession session = NHibernateSessions.OpenSession()) { var currentLoggedUser = session.Query <User>().Where(x => x.Id == userId).First(); using (var transaction = session.BeginTransaction()) { var createOrder = new Orders() { UserID = currentLoggedUser, Active = true }; session.Save(createOrder); transaction.Commit(); } } }
private void AddBookToOrder(int userId, int bookId) { using (ISession session = NHibernateSessions.OpenSession()) { var activeOrder = session.Query <Orders>().Where(x => x.UserID.Id == userId).Where(x => x.Active == true).FirstOrDefault(); if (activeOrder != null) { using (var transaction = session.BeginTransaction()) { var bookOrder = new OrdersBook() { BookID = bookId, OrderID = activeOrder.Id }; session.Save(bookOrder); transaction.Commit(); } } } }
public ActionResult Search(string TitleToSearch, int?page) { IEnumerable <Book> books; int pageNumber = (page ?? 1); var recordsOnPage = 8; using (ISession session = NHibernateSessions.OpenSession()) { books = session.Query <Book>().ToList(); } if (TitleToSearch != null) { books = from i in books where i.Title.Equals(TitleToSearch) select i; return(View(books.ToPagedList(pageNumber, recordsOnPage))); } return(View(books.ToPagedList(pageNumber, recordsOnPage))); }
public ActionResult Address(AddressViewModel model) { if (Request.IsAuthenticated) { if (ModelState.IsValid) { var actualUserID = GetLoggedUserId(); Orders ord; if (actualUserID != 0) { using (ISession session = NHibernateSessions.OpenSession()) { var order = session.Query <Orders>().Where(x => x.UserID.Id == actualUserID).First(); ord = session.Load <Orders>(order.Id); ord.UserID = order.UserID; ord.FirstName = model.FirstName; ord.LastName = model.LastName; ord.Street = model.Street; ord.City = model.City; ord.Country = model.Country; session.Flush(); } GenerateEmailWithBooks(GetBooksInCart(actualUserID), User.Identity.GetUserName(), ord); } ClearOrder(); return(RedirectToAction("Index", "Home")); } else { return(View(model)); } } else { return(RedirectToAction("Index", "Home")); } }
/// <summary> /// Metoda czyszcząca koszyk /// </summary> /// <returns></returns> public ActionResult ClearOrder() { if (Request.IsAuthenticated) { var actualUserID = GetLoggedUserId(); if (actualUserID != 0) { using (ISession session = NHibernateSessions.OpenSession()) { var order = session.Query <Orders>().Where(x => x.UserID.Id == actualUserID).First(); var ord = session.Load <Orders>(order.Id); order.Active = false; session.Flush(); } } return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("Index", "Home")); } }