Пример #1
0
        public async Task <ZipCodeModel> CreateAsync(
            ZipCodeModel model,
            CancellationToken cancellationToken)
        {
            var included     = new Func <IIncludable <City>, IIncludable>(x => x.Include(i => i.State).Include(i => i.Country));
            var existingCity = await _cityService.GetFirstOrDefaultAsync(
                x => x.Id == model.CityId, included, cancellationToken : cancellationToken);

            if (existingCity == default)
            {
                throw new BadRequestException($"Invalid {nameof(model.CityId)}");
            }

            model.CountryId = existingCity.CountryId;
            model.Country   = existingCity.Country;
            model.StateId   = existingCity.StateId;
            model.State     = existingCity.State;
            model.City      = existingCity;

            var created = await _zipCodeService.CreateSingleAsync(model, cancellationToken);

            return(created);
        }