コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }