예제 #1
0
        public ActionResult BuyBook(int id)
        {
            BuyBook data = new BuyBook {
                login  = false,
                Money  = false,
                succes = false
            };
            UserView      user = new UserView();
            BookViewModel book = new BookViewModel();

            data.login = true;
            user       = UIHelper.GetUser(User.Identity.GetUserId());
            book       = UIHelper.Get1Book(id);
            double moneyUser = user.CIF;
            double price     = book.Price;

            if (moneyUser < price)
            {
                data.Money = true;
                return(Json(new { OK = false, Message = "Tài khoản không đủ xin vui lòng nạp thêm" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                data.succes = true;
                moneyUser  -= price;
                DBHelper.UpdateMoneyUser(moneyUser, User.Identity.GetUserId());
                BookOrderView a = new BookOrderView {
                    BookId            = id,
                    ApplicationUserId = User.Identity.GetUserId(),
                    BuyDate           = DateTime.Now
                };
                DBHelper.AddBookOrder(a);
            }

            return(Json(new { OK = true, Message = "Mua thành công" }, JsonRequestBehavior.AllowGet));
            //return
        }
        private async Task <OrderView> GetCurrentOrder()
        {
            try
            {
                User usr = await _userManager.GetUserAsync(HttpContext.User);

                if (usr != null)
                {
                    string    id        = usr.Id;
                    Order     j         = _context.Order.Include(p => p.BookOrders).Where(p => p.UserId == id && p.Active == 1).FirstOrDefault();
                    OrderView orderView = new OrderView
                    {
                        Id           = j.Id,
                        Active       = j.Active,
                        DateDelivery = j.DateDelivery,
                        Amount       = j.Amount,
                        DateOrder    = j.DateOrder,
                        SumOrder     = j.SumOrder
                    };
                    List <BookOrderView> bo = new List <BookOrderView>();
                    foreach (BookOrder o in j.BookOrders)
                    {
                        BookOrderView n = new BookOrderView
                        {
                            Id     = o.Id,
                            Amount = o.Amount
                        };
                        Book item = _context.Book.Where(book => book.isDeleted == false && book.Id == o.IdBook).FirstOrDefault();

                        BookView b = new BookView()
                        {
                            Id      = item.Id,
                            Content = item.Content,
                            Cost    = item.Cost,
                            image   = item.image,
                            Stored  = item.Stored,
                            Title   = item.Title,
                            Year    = item.Year
                        };
                        Publisher     publisher = _context.Publisher.Find(item.IdPublisher);
                        List <string> au        = new List <string>();
                        List <string> ge        = new List <string>();
                        b.Publisher = publisher.Name;
                        IEnumerable <BookAuthor> bookauthors = _context.BookAuthor.Where(d => d.IdBook == item.Id);
                        IEnumerable <BookGenre>  bookgenres  = _context.BookGenre.Where(d => d.IdBook == item.Id);
                        foreach (BookAuthor line in bookauthors)
                        {
                            Author author = _context.Author.Find(line.IdAuthor);
                            au.Add(author.Name);
                        }
                        b.Authors = au.ToArray();
                        foreach (BookGenre line in bookgenres)
                        {
                            Genre genre = _context.Genre.Find(line.IdGenre);
                            ge.Add(genre.Name);
                        }
                        b.Genres = ge.ToArray();
                        n.Book   = b;
                        bo.Add(n);
                    }
                    orderView.BookOrders = bo;
                    City city = _context.City.Where(a => a.Id == usr.IdCity).FirstOrDefault();
                    orderView.City         = city.Name;
                    orderView.SumDelivery  = city.DeliverySum;
                    orderView.DateDelivery = DateTime.Now.AddDays(city.DeliveryTime);
                    return(orderView);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                Log.Write(ex);
                return(null);
            }
        }