BloggingSystem.Services.Controllers.TagsController.GetAll C# (CSharp) Method

GetAll() private method

private GetAll ( [ sessionKey ) : IEnumerable
sessionKey [
return IEnumerable
        public IEnumerable<TagModel> GetAll(
            [ValueProvider(typeof(HeaderValueProviderFactory<string>))]string sessionKey)
        {
            var allTagModels = this.PerformOperation(() =>
            {
                UserValidator.ValidateSessionKey(sessionKey);

                var context = new BloggingSystemContext();
                using (context)
                {
                    var loggedUserEntity = context.Users.FirstOrDefault<User>(u => u.SessionKey == sessionKey);
                    if (loggedUserEntity == null)
                    {
                        throw new InvalidOperationException("Invalid user or pasword!");
                    }

                    var tagModels = new List<TagModel>();
                    var tagEntities = context.Tags.Include("Posts").OrderBy(t => t.Name);
                    foreach (var tagEntity in tagEntities)
                    {
                        tagModels.Add(TagsMapper.ToModel(tagEntity));
                    }

                    return tagModels;
                }
            });

            return allTagModels;
        }
TagsController