public void TestGetCity_positive_Predicate_sample()
        {
            //Arrange
            var CountryId = 1;
            var city      = new City()
            {
                Code = "Mum", CountryId = CountryId, IsActive = true, Name = "Mumbai", StateId = 1
            };
            var baseResult = new BaseResult <List <City> >()
            {
                Result = new List <City>()
                {
                    city
                }
            };
            var pred = new Func <City, bool>(x => x.IsActive && !x.IsDeleted);

            iCityLibrary.Setup(x => x.GetListByPredicate(It.Is <Func <City, bool> >(y => y.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult));
            //Act
            var result = masterDataRepository.GetCities();

            //Assert
            Assert.IsTrue(result.Result is BaseResult <List <City> >);
            Assert.IsTrue(result.Result.Result.Any(x => x.CountryId == CountryId));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Return the List of Cities
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> GetCities(int id)
        {
            BaseResult <List <CityViewModel> > cityResult = new BaseResult <List <CityViewModel> >();

            if (id < 1)
            {
                cityResult.Message = Constants.BadRequestErrorMessage.InvalidCountyRequest;
                return(BadRequest(cityResult));
            }

            var cacheData = RedisCacheHelper.Instance.Get <List <CityViewModel> >(Constants.CacheKeys.CityList);

            if (cacheData != null && cacheData.Any())
            {
                cityResult.Result = cacheData;
            }
            else
            {
                BaseResult <List <City> > cityResultData = await iMasterData.GetCities().ConfigureAwait(false);

                if (cityResultData.IsError && cityResultData.ExceptionMessage != null)
                {
                    return(new StatusCodeResult(500));
                }
                else if (cityResultData.Result == null || cityResultData.Result.Count == 0)
                {
                    return(NoContent()); //204
                }
                else
                {   // mapping model to viewmodel
                    List <CityViewModel> cityListAll = DbMapperMasterdata.MapAllCity(cityResultData);
                    cityResult.Result = cityListAll;
                    RedisCacheHelper.Instance.Set <List <CityViewModel> >(Constants.CacheKeys.CityList, cityListAll, false);
                }
            }
            cityResult.Result = cityResult.Result.Where(p => p.CountryId == id).ToList();
            return(Ok(cityResult)); //200
        }