public AdvertLine CreateAdvertLine(AdvertLine advertLine) { if (advertLine == null) { throw new ArgumentNullException(nameof(advertLine)); } _context.AdvertLines.Add(advertLine); _context.SaveChanges(); return(advertLine); }
public AdvertLine EditAdvertLine(AdvertLine advertLine) { if (advertLine == null) { throw new ArgumentNullException(nameof(advertLine)); } _context.Entry(advertLine).State = EntityState.Modified; _context.SaveChanges(); return(advertLine); }
public void ReduceAdvertViewCount() { foreach (Advert advert in GetAdverts().Data) { if (advert.Shows > 1) { advert.Shows--; EditAdvert(advert); } else { AdvertLine linkedLine = _advertLineManager.GetAdvertLineByAdvertID(advert.ID); if (linkedLine != null) { linkedLine.AdvertID = null; _advertLineManager.EditAdvertLine(linkedLine); } DeleteAdvert(advert.ID); } } }
public IActionResult Purchase(AdvertPurchaseViewModel vm) { if (ModelState.IsValid) { string userID = User.FindFirstValue(ClaimTypes.NameIdentifier); Package selectedPackage = _packageManager.GetPackage(vm.SelectedPackageID); if (selectedPackage != null) { if (_creditManager.SubtractCredit(userID, selectedPackage.Price)) { Advert newAdvert = new Advert { BusinessID = vm.BusinessID, Shows = selectedPackage.Amount }; if (vm.PhotoData != null) { using (var ms = new MemoryStream()) { vm.PhotoData.CopyTo(ms); newAdvert.PhotoData = ms.ToArray(); } } newAdvert = _advertManager.CreateAdvert(newAdvert); // Create empty order Order advertOrder = new Order { UserID = userID, OrderType = OrderType.AdvertPurchase, Status = OrderStatus.Finished }; advertOrder = _orderManager.CreateOrder(advertOrder); // Create advertline and link to order AdvertLine advertLine = new AdvertLine { OrderID = advertOrder.ID, AdvertID = newAdvert.ID, OriginalShows = newAdvert.Shows, PricePaid = selectedPackage.Price }; _advertLineManager.CreateAdvertLine(advertLine); return(RedirectToAction(nameof(Index))); } else { return(RedirectToAction(nameof(Purchase), new { succesful = false } )); } } else { return(RedirectToAction(nameof(Purchase), new { succesful = false } )); } } ViewData["UserID"] = User.FindFirstValue(ClaimTypes.NameIdentifier); return(View(vm)); }