Exemple #1
0
        public IActionResult EffectBuy(BuyAddArticleViewModel bvm)
        {
            var add = context.Adds.Include(a => a.Article)
                      .Single(a => a.ArticleId == bvm.Add.ArticleId && a.UserId == bvm.Add.UserId);

            if (bvm.AmountToBuy > bvm.Add.Amount)
            {
                ModelState.AddModelError("AmountToBuy", "La cantidad a comprar debe ser menor que la disponible en el anuncio.");
            }
            if (!ModelState.IsValid)
            {
                BuyAddArticleViewModel newBvw = new BuyAddArticleViewModel
                {
                    Add         = add,
                    CustomerId  = bvm.CustomerId,
                    AmountToBuy = bvm.AmountToBuy,
                    Address     = bvm.Address
                };
                return(View("BuyAddArticle", newBvw));
            }

            var newOrder = new Order
            {
                CustomerId     = bvm.CustomerId,
                ArticleId      = bvm.Add.ArticleId,
                Date           = DateTime.Now,
                Amount         = bvm.AmountToBuy,
                Address        = bvm.Address,
                ShippingCharge = bvm.ShippingCharge
            };

            context.Orders.Add(newOrder);
            context.SaveChanges();

            var totalCharge = newOrder.Amount * bvm.Add.Article.Price + newOrder.ShippingCharge;

            return(RedirectToAction("GetPaymentMethod", "PaymentGateway",
                                    new { userId = newOrder.CustomerId, articleId = newOrder.ArticleId,
                                          orderDateTicks = newOrder.Date.Ticks, charge = totalCharge }));
        }
Exemple #2
0
        public IActionResult BuyAddArticle(string uid, int aid)
        {
            var userName = User.Identity.Name;

            if (userName == null)
            {
                return(RedirectToAction("Login", "User"));
            }
            var userId = context.Users.Single(u => u.UserName == userName).Id;

            var add = context.Adds.Include(a => a.Article)
                      .Include(a => a.User)
                      .Single(a => a.UserId == uid && a.ArticleId == aid);

            var buyViewModel = new BuyAddArticleViewModel
            {
                Add        = add,
                CustomerId = userId
            };

            return(View(buyViewModel));
        }