public IActionResult EditAdv(int?id) { if (id == null) { return(NotFound()); } var adv = _businessLayer.GetAdv((int)id); if (adv == null) { return(NotFound()); } CreateAdvViewModel viewModel = new CreateAdvViewModel(); viewModel.CurrentAdv = adv; var advTypes = _businessLayer.GetAdvTypes(); foreach (var advType in advTypes) { viewModel.AdvTypeNames.Add(new SelectListItem { Text = advType.Name, Value = advType.Id.ToString() }); } return(View(viewModel)); }
public async Task <IActionResult> EditAdv(CreateAdvViewModel viewModel) { ApplicationUser user = await _userManager.FindByNameAsync(User.Identity.Name.ToLower()); if (viewModel.CurrentAdv.MemberId != user.Id) { ModelState.AddModelError(string.Empty, "Annonsen kan bara uppdateras av Medlemmen som la in annonsen"); } if (ModelState.IsValid) { IFormFile imageFile = viewModel.MyImage; // Om medlemmen har laddat upp en ny bildfil if (imageFile != null) { if (imageFile.Length > 0) { viewModel.CurrentAdv.ImageFileName = _businessLayer.UpdateImage(imageFile, viewModel.CurrentAdv.ImageFileName); } } // Begär att BusinessLagret uppdaterar annonsen string result = _businessLayer.UpdateAdv(viewModel.CurrentAdv); if (result == "OK") { // Om annonsen innehåller mindre än 2 Utrustningar if (_businessLayer.GetEquipment(viewModel.CurrentAdv.Id).Count() < 2) { // Ge Medlemmen möjlighet att lägga till ytterligare utrustning till annonsen return(RedirectToAction("CreateEquipment", new { advId = viewModel.CurrentAdv.Id })); } else { return(RedirectToAction("IndexOwnAds")); } } else { AddError(result); } } var advTypes = _businessLayer.GetAdvTypes(); foreach (var advType in advTypes) { viewModel.AdvTypeNames.Add(new SelectListItem { Text = advType.Name, Value = advType.Id.ToString() }); } return(View(viewModel)); }
public async Task <IActionResult> CreateAdv(CreateAdvViewModel viewModel) { if (ModelState.IsValid) { Advertisement adv = new Advertisement(); adv.AdvTypeId = viewModel.CurrentAdv.AdvTypeId; adv.Title = viewModel.CurrentAdv.Title; adv.Description = viewModel.CurrentAdv.Description; adv.Price = viewModel.CurrentAdv.Price; adv.Place = viewModel.CurrentAdv.Place; adv.StartDate = DateTime.Now; IFormFile imageFile = viewModel.MyImage; // Om medlemmen har laddat upp en bildfil if (imageFile != null) { if (imageFile.Length > 0) { adv.ImageFileName = _businessLayer.SaveImage(imageFile); } } ApplicationUser user = await _userManager.FindByNameAsync(User.Identity.Name.ToLower()); adv.MemberId = user.Id; // Begär att BusinessLagret skapar en ny annons string result = _businessLayer.CreateAdv(adv); if (result == "OK") { // Ge Medlemmen möjlighet att lägga till utrustning till en annons return(RedirectToAction("CreateEquipment", new { advId = adv.Id })); } else { AddError(result); } } var advTypes = _businessLayer.GetAdvTypes(); foreach (var advType in advTypes) { viewModel.AdvTypeNames.Add(new SelectListItem { Text = advType.Name, Value = advType.Id.ToString() }); } return(View(viewModel)); }
public IActionResult CreateAdv() { CreateAdvViewModel viewModel = new CreateAdvViewModel(); var advTypes = _businessLayer.GetAdvTypes(); foreach (var advType in advTypes) { viewModel.AdvTypeNames.Add(new SelectListItem { Text = advType.Name, Value = advType.Id.ToString() }); } return(View(viewModel)); }