Ejemplo n.º 1
0
        public ZipCode MapToZipCode(UsZipCodeToCreateDto z)
        {
            var zipCode = new ZipCode()
            {
                Digits = z.ZipCode,
                CityId = z.CityId
            };

            return(zipCode);
        }
Ejemplo n.º 2
0
        public async Task <int> GetNewWorldRegionId(string zipCodeDigits, int cityId)
        {
            var zipCode = new UsZipCodeToCreateDto()
            {
                ZipCode = zipCodeDigits,
                CityId  = cityId
            };

            var cityToReturn = await CreateZipCodeAsync(zipCode);

            return(cityToReturn.Id);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> CreateZipcode(UsZipCodeToCreateDto zipCodeToCreateDto)
        {
            var zipCode = await _utility.CreateZipCodeAsync(zipCodeToCreateDto);

            if (zipCode.Id > 0)
            {
                return(CreatedAtRoute(
                           zipCode.Id,
                           zipCode));
            }

            if (zipCode.Id == -1)
            {
                return(BadRequest("ZipCode already exists for this City"));
            }

            return(BadRequest("Could not create zipCode"));
        }
Ejemplo n.º 4
0
        public async Task CreateZipCodeWithNameAndId(string zipCodeDigits, int cityId)
        {
            using (var mock = AutoMock.GetLoose())
            {
                var toCreate = new UsZipCodeToCreateDto
                {
                    ZipCode = zipCodeDigits,
                    CityId  = cityId
                };
                var zipCode = new ZipCode
                {
                    Digits = zipCodeDigits,
                    CityId = cityId
                };
                var returnDto = new UsZipCodeDto
                {
                    Id      = 1,
                    ZipCode = zipCodeDigits,
                    CityId  = cityId
                };

                // Expression<Func<ZipCode, bool>> ex = z => z.CityId == d.CityId && z.Digits == d.ZipCode;
                // // would like to test with ^^this^^ but don't think I'm able to
                // mock.Mock<IUsZipCodeData>().Setup(x => x.Find(ex)).Returns(Task.FromResult(zipCode));
                var zipCodeList      = new List <ZipCode>();
                var matchingZipCodes = zipCodeList.AsEnumerable();

                mock.Mock <IMap>().Setup(x => x.MapToZipCode(It.IsAny <UsZipCodeToCreateDto>())).Returns(zipCode);
                mock.Mock <IUsZipCodeData>().Setup(x => x.FindManyAsync(It.IsAny <Expression <Func <ZipCode, bool> > >()))
                .Returns(Task.FromResult(matchingZipCodes));
                mock.Mock <IUsZipCodeData>().Setup(x => x.Add(zipCode));
                mock.Mock <IUsZipCodeData>().Setup(x => x.SaveAllAsync()).Returns(Task.FromResult(true));
                mock.Mock <IMap>().Setup(x => x.MapToUsZipCodeDto(zipCode)).Returns(returnDto);

                var cls      = mock.Create <UtilityRepo>();
                var expected = 1;
                var actual   = await cls.CreateZipCodeAsync(zipCodeDigits, cityId);

                Assert.Equal(expected, actual);
            }
        }
Ejemplo n.º 5
0
        public async Task <UsZipCodeDto> CreateZipCodeAsync(UsZipCodeToCreateDto d)
        {
            var newZipCode       = _map.MapToZipCode(d);
            var matchingZipCodes = await _usZipCode.FindManyAsync(z => z.CityId == d.CityId && z.Digits == d.ZipCode);

            var saved = false;

            if (!matchingZipCodes.Any())
            {
                _usZipCode.Add(newZipCode);
                saved = await _usZipCode.SaveAllAsync();
            }

            if (!saved)
            {
                return(new UsZipCodeDto {
                    Id = -1
                });
            }
            var dtoToReturn = _map.MapToUsZipCodeDto(newZipCode);

            return(dtoToReturn);
        }