Esempio n. 1
0
        public async Task <IActionResult> View(int id)
        {
            AuktionBudViewModel model = await _service.GetAuktionBudsAsync(id);

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            NauktionUser currentUser = await _userManager.GetUserAsync(User);

            string error = await _service.ValidateBud(model.AuktionID, model.MaxedPrice + 1, currentUser);

            if (!(error is null))
            {
                TempData["BidErrors"] = new[] { error }
            }
            ;

            return(View(model));
        }
Esempio n. 2
0
        public async Task <IActionResult> Delete(AuktionDeleteViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Alter", new { id = model.AuktionID }));
            }

            AuktionBudViewModel auktionModel = await _service.GetAuktionBudsAsync(model.AuktionID);

            if (auktionModel is null)
            {
                TempData["Message"] = "Misslyckades med att ta bort auktionen! Auktionen finns inte i databasen.";
                return(RedirectToAction("Index"));
            }

            NauktionUser currentUser = await _userManager.GetUserAsync(User);

            if (auktionModel.SkapadAv != currentUser.Id)
            {
                TempData["Message"] = "Misslyckades med att ta bort auktionen! Du kan inte ta bort någon annans auktion.";
                return(RedirectToAction("Index"));
            }

            if (auktionModel.Bids.Count > 0)
            {
                TempData["Message"] =
                    "Misslyckades med att ta bort auktionen! Du kan inte ta bort en auktion som har blivit budad.";
                return(RedirectToAction("Index"));
            }

            await _service.DeleteAuktionAsync(model.AuktionID);

            TempData["Message"] = $"Auktionen \"{auktionModel.Titel}\" har blivit borttagen!";

            return(RedirectToAction("Index"));
        }