public IActionResult Create(DealershipFormViewModel dealershipViewModel) { try { dealershipViewModel.SaveButtonText = "Create"; if (ModelState.IsValid) { var dealerships = _businessLogics.DealershipBusinessLogic.Get( d => new { d.DealershipName, d.WebsiteUrl }, d => d.DealershipName.Equals(dealershipViewModel.DealershipName) || d.WebsiteUrl.Equals(dealershipViewModel.WebsiteUrl)); if (dealerships.Count() > 0) { foreach (var dealership in dealerships) { if (dealership.DealershipName.Equals(dealershipViewModel.DealershipName)) { ModelState.AddModelError(nameof(dealershipViewModel.DealershipName), "Dealership name already exists"); } if (dealership.WebsiteUrl.Equals(dealershipViewModel.WebsiteUrl)) { ModelState.AddModelError(nameof(dealershipViewModel.WebsiteUrl), "Website URL already exists"); } } return(View("DealershipForm", dealershipViewModel)); } var dealershipDto = new DealershipDto { DealershipName = dealershipViewModel.DealershipName, WebsiteUrl = dealershipViewModel.WebsiteUrl }; _businessLogics.DealershipBusinessLogic.Add(dealershipDto); _businessLogics.Save(); dealershipViewModel.SuccessMessage = "Dealership successfully added"; dealershipViewModel.DealershipName = string.Empty; dealershipViewModel.WebsiteUrl = string.Empty; ModelState.Clear(); } } catch (Exception ex) { dealershipViewModel.ErrorMessage = "An error has occurred"; } return(View("DealershipForm", dealershipViewModel)); }
public IActionResult Update(DealershipFormViewModel dealershipViewModel) { try { dealershipViewModel.Heading = "Edit Dealership"; dealershipViewModel.SaveButtonText = "Update"; if (!ModelState.IsValid) { dealershipViewModel.Dealerships = GetDealerships(); return(View("DealershipForm", dealershipViewModel)); } var dealerships = _businessLogics.DealershipBusinessLogic.Get( d => new { d.DealershipName, d.WebsiteUrl }, d => (d.DealershipName.Equals(dealershipViewModel.DealershipName) || d.WebsiteUrl.Equals(dealershipViewModel.WebsiteUrl)) && d.DealershipId != dealershipViewModel.DealershipId); if (dealerships.Count() > 0) { foreach (var currentDealership in dealerships) { if (currentDealership.DealershipName.Equals(dealershipViewModel.DealershipName)) { ModelState.AddModelError(nameof(dealershipViewModel.DealershipName), "Dealership name already exists"); } if (currentDealership.WebsiteUrl.Equals(dealershipViewModel.WebsiteUrl)) { ModelState.AddModelError(nameof(dealershipViewModel.WebsiteUrl), "Website URL already exists"); } } dealershipViewModel.Dealerships = GetDealerships(); return(View("DealershipForm", dealershipViewModel)); } var dealership = _businessLogics.DealershipBusinessLogic.GetSingle( d => d, d => d.DealershipId == dealershipViewModel.DealershipId); if (dealership == null) { return(NotFound("Dealership does not exist")); } _businessLogics.DealershipBusinessLogic.Update(dealership, new DealershipDto { DealershipName = dealershipViewModel.DealershipName, WebsiteUrl = dealershipViewModel.WebsiteUrl, IsActive = dealershipViewModel.IsActive }); _businessLogics.Save(); dealershipViewModel.SuccessMessage = "Dealership successfully updated"; dealershipViewModel.Dealerships = GetDealerships(); } catch (Exception ex) { dealershipViewModel.ErrorMessage = "An error has occurred"; } return(View("DealershipForm", dealershipViewModel)); }