Beispiel #1
0
        public IActionResult AddAuctionCart()
        {
            int uid = Convert.ToInt32(HttpContext.Session.GetString("uid"));

            if (uid == 0)
            {
                return(RedirectToAction("Login", "Home"));
            }
            try
            {
                int aucid = (int)TempData["AuctionIdforHighest"];

                AuctionBid productObj = new AuctionBid();
                foreach (var item in _repObj.HighestBidofEachBidder((aucid)))
                {
                    productObj = item;
                    break;
                }

                PurchaseDetails obj = new PurchaseDetails();
                int?            abc = productObj.AuctionId;
                obj.Buyer             = productObj.BidderId;
                obj.TotalAmount       = productObj.BidAmount;
                obj.OrderedDate       = DateTime.Now;
                obj.DeliveryDate      = DateTime.Now.AddDays(7);
                obj.Name              = _repObj.GetCustomerName(productObj.BidderId);
                obj.Seller            = _repObj.GetFarmer((int)productObj.AuctionId);
                obj.ItemName          = _repObj.GetItemNameforAuction((int)productObj.AuctionId);
                obj.QuantityPurchased = _repObj.GetQuantityForAuction((int)productObj.AuctionId);
                obj.PricePerUnit      = obj.TotalAmount / obj.QuantityPurchased;

                var status = _repObj.PurchaseProduct(obj);
                if (status)
                {
                    bool a = _repObj.SuccessBuyNotification(obj.ItemName, obj.Buyer, obj.DeliveryDate, obj.Seller, "Auction");
                    if (a)
                    {
                        PastAuctionResult part = new PastAuctionResult();
                        int aid = aucid;
                        part.AuctionId = aid;
                        part.WinnerId  = productObj.BidderId;
                        part.FarmerId  = obj.Seller;
                        part.BidAmount = productObj.BidAmount;
                        part.EndDate   = obj.OrderedDate;
                        _repObj.AddPastAuctionResult(part, aid);

                        _repObj.UpdateFromAuctionItemByName(obj.ItemName, part.FarmerId, aucid);

                        TempData["SuccessAuction"] = "Success, Deal Done Successfully!";
                        return(RedirectToAction("GetMyAuctions", "Auction"));
                    }
                    TempData["AllAuctions"] = "Something went wrong. Please re-do the auction deal.";
                    return(RedirectToAction("GetMyAuctions", "Auction"));
                }
                TempData["AllAuctions"] = "Something went wrong. Please re-do the auction deal.";
                return(RedirectToAction("GetMyAuctions", "Auction"));
            }
            catch (Exception)
            {
                return(View("Error"));
            }
        }