/// <summary> /// Get star ratings master data /// </summary> /// <returns>Star rating master data</returns> public async Task <IActionResult> GetStarRating() { BaseResult <List <StarRatingViewModel> > starRatingResultFromCache = new BaseResult <List <StarRatingViewModel> > { Result = RedisCacheHelper.Instance.Get <List <StarRatingViewModel> >(Constants.CacheKeys.StarRatingList) }; if (starRatingResultFromCache.Result == null || starRatingResultFromCache.Result.Count == 0) { BaseResult <List <StarRating> > starRatingResult = await iMasterData.GetStarRating().ConfigureAwait(false); if (starRatingResult.IsError && starRatingResult.ExceptionMessage != null) { return(new StatusCodeResult(500)); } else if (starRatingResult.Result == null || starRatingResult.Result.Count == 0) { return(NoContent()); } else { var result = DbMapperMasterdata.MapStarRating(starRatingResult); RedisCacheHelper.Instance.Set <List <StarRatingViewModel> >(Constants.CacheKeys.StarRatingList, result.Result); return(Ok(result)); } } return(Ok(starRatingResultFromCache)); }