public IActionResult PlaceTradeResponse(PlaceTradeResponseModel rm, Vereniging vereniging) { McEditie editie = _editieRepository.GetNextOrCurrentEditieIncludeTrades(); if (editie == null) { return(NotFound("Er is nog geen opkomende editie aangemaakt, als dit volgens u niet klopt, gelieve dan contact op te nemen met [email protected]")); } if (ModelState.IsValid) { try { TradeOffer offer = editie.GetTradeOfferById(rm.OfferId); if (offer == null) { TempData["error"] = "Oeps er ging iets mis! Deze aanbieding bestaat niet meer!"; return(View(nameof(Doorverkoop), new TicketsDoorverkoopViewModel(editie, vereniging))); } offer.AddResponse(vereniging, rm.Amount); _editieRepository.SaveChanges(); TempData["message"] = "U heeft succesvol een reactie geplaatst"; } catch (Exception ex) { TempData["error"] = $"Oeps! Er ging iets mis: {ex.Message}"; } return(RedirectToAction(nameof(Doorverkoop))); } return(RedirectToAction(nameof(PlaceTradeResponse), new { id = rm.OfferId })); }
[AcceptVerbs("Get", "Post")] //REMOTE public IActionResult CheckTicketsAsked(int amount, int offerId) { McEditie editie = _editieRepository.GetNextOrCurrentEditieIncludeTrades() ?? _editieRepository.GetLastIncludeBestellingenAndTrades(); if (editie == null) { return(Json("Er ging iets mis... Gelieve de pagina te herladen")); } TradeOffer offer = editie.GetTradeOfferById(offerId); if (offer == null) { return(Json("Er ging iets mis... Gelieve de pagina te herladen")); } if (offer.Amount < amount) { return(Json($"U kan maximaal {offer.Amount} tickets vragen")); } return(Json(true)); }
//id = id van TradeOffer waarop response geplaatst wordt public IActionResult PlaceTradeResponse(int id, Vereniging vereniging) { McEditie editie = _editieRepository.GetNextOrCurrentEditieIncludeTrades(); if (editie == null) { return(NotFound("Er is nog geen opkomende editie aangemaakt, als dit volgens u niet klopt, gelieve dan contact op te nemen met [email protected]")); } TradeOffer offer = editie.GetTradeOfferById(id); if (offer == null) { TempData["error"] = "Oeps er ging iets mis! Deze aanbieding bestaat niet meer!"; return(View(nameof(Doorverkoop), new TicketsDoorverkoopViewModel(editie, vereniging))); } if (offer.Responses.SingleOrDefault(r => r.Vereniging.GroepId == vereniging.GroepId) != null) { TempData["error"] = "U heeft reeds een aanbieding geplaatst op deze aanbieding!"; return(View(nameof(Doorverkoop), new TicketsDoorverkoopViewModel(editie, vereniging))); } return(View(new PlaceTradeResponseModel(offer))); }
public IActionResult RemoveTradeOffer(Vereniging vereniging, int offerId) { McEditie editie = _editieRepository.GetNextOrCurrentEditieIncludeTrades() ?? _editieRepository.GetLastIncludeBestellingenAndTrades(); if (editie == null) { return(NotFound("Er zijn nog geen edities aangemaakt, als dit volgens u niet klopt, gelieve dan contact op te nemen met [email protected]")); } TradeOffer offer = editie.GetTradeOfferById(offerId); if (offer == null) { TempData["error"] = "Oeps er ging iets mis! Deze aanbieding bestaat niet!"; return(RedirectToAction(nameof(Doorverkoop))); } if (offer.Owner.GroepId != vereniging.GroepId) { TempData["redError"] = "Kan geen aanbieding verwijderen dat niet van uzelf is..."; return(RedirectToAction(nameof(Doorverkoop))); } editie.TradeOffers.Remove(offer); _editieRepository.SaveChanges(); return(RedirectToAction(nameof(Doorverkoop))); }