Ejemplo n.º 1
0
        public async Task AddAsync(StreetInputModel streetInputModel)
        {
            var street = new Street
            {
                Name   = streetInputModel.Name,
                CityId = streetInputModel.CityId,
            };

            bool doesStreetExist = await this.streetsRepository.All().AnyAsync(x => x.Name == street.Name);

            bool doesStreetWithCurrentCityIdExist = await this.streetsRepository.All().AnyAsync(x => x.Name == street.Name && x.CityId == street.CityId);

            if (doesStreetExist)
            {
                if (!doesStreetWithCurrentCityIdExist)
                {
                }
                else
                {
                    throw new ArgumentException(string.Format(GlobalConstants.ErrorMessages.CityNameAlreadyExists, street.Name));
                }
            }

            await this.streetsRepository.AddAsync(street);

            await this.streetsRepository.SaveChangesAsync();
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddStreet(StreetInputModel streetInputModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(streetInputModel));
            }

            try
            {
                await this.streetsService.AddAsync(streetInputModel);
            }
            catch (Exception)
            {
                return(this.View("DuplicateValue", streetInputModel));
            }

            return(this.RedirectToAction("Index"));
        }