예제 #1
0
        public async Task <IEnumerable <RoleModel> > GetAllRoles(int divisionId)
        {
            const string cacheKey = "roles";

            var cachedResponse = await _redisCacheService.GetCachedData <IEnumerable <RoleModel> >(cacheKey);

            if (cachedResponse != null)
            {
                return(cachedResponse);
            }

            var roles = (await _misService.GetAllRoles(divisionId)).ToList();

            await _redisCacheService.SetCacheData(cacheKey, roles, TimeSpan.FromSeconds(86400));

            return(roles.OrderBy(x => x.RoleName));
        }
예제 #2
0
        public async Task <ActionResult <IEnumerable <RoleModel> > > GetAll()
        {
            _logger.LogInformationExtension("Get All Roles");
            var roles = await _misService.GetAllRoles();

            string message;

            if (roles == null)
            {
                message = "No roles found";
                _logger.LogErrorExtension(message, null);
                return(NotFound(new Models.Response <RoleModel>(false, message)));
            }

            message = $"Found {roles.Count()} roles";

            _logger.LogInformationExtension(message);

            return(Ok(new Models.Response <IEnumerable <RoleModel> >(roles, message)));
        }