diff --git a/src/Umbraco.Core/Deploy/ArtifactBase.cs b/src/Umbraco.Core/Deploy/ArtifactBase.cs
index ff5287d0b8..200b47096d 100644
--- a/src/Umbraco.Core/Deploy/ArtifactBase.cs
+++ b/src/Umbraco.Core/Deploy/ArtifactBase.cs
@@ -1,7 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
namespace Umbraco.Cms.Core.Deploy
{
///
@@ -15,13 +11,13 @@ namespace Umbraco.Cms.Core.Deploy
Udi = udi ?? throw new ArgumentNullException("udi");
Name = Udi.ToString();
- Dependencies = dependencies ?? Enumerable.Empty();
+ _dependencies = dependencies ?? Enumerable.Empty();
_checksum = new Lazy(GetChecksum);
}
private readonly Lazy _checksum;
- private IEnumerable? _dependencies;
+ private IEnumerable _dependencies;
protected abstract string GetChecksum();
@@ -43,16 +39,16 @@ namespace Umbraco.Cms.Core.Deploy
///
public bool ShouldSerializeChecksum() => false;
- public IEnumerable? Dependencies
+ public IEnumerable Dependencies
{
get => _dependencies;
- set => _dependencies = value?.OrderBy(x => x.Udi);
+ set => _dependencies = value.OrderBy(x => x.Udi);
}
#endregion
public string Name { get; set; }
- public string? Alias { get; set; }
+ public string Alias { get; set; } = string.Empty;
}
}
diff --git a/src/Umbraco.Core/Deploy/ArtifactDeployState.cs b/src/Umbraco.Core/Deploy/ArtifactDeployState.cs
index d451c1941d..0849f3526f 100644
--- a/src/Umbraco.Core/Deploy/ArtifactDeployState.cs
+++ b/src/Umbraco.Core/Deploy/ArtifactDeployState.cs
@@ -15,7 +15,7 @@ namespace Umbraco.Cms.Core.Deploy
/// The service connector deploying the artifact.
/// The next pass number.
/// A deploying artifact.
- public static ArtifactDeployState Create(TArtifact art, TEntity entity, IServiceConnector connector, int nextPass)
+ public static ArtifactDeployState Create(TArtifact art, TEntity? entity, IServiceConnector connector, int nextPass)
where TArtifact : IArtifact
{
return new ArtifactDeployState(art, entity, connector, nextPass);
diff --git a/src/Umbraco.Core/Deploy/ArtifactDeployStateOfTArtifactTEntity.cs b/src/Umbraco.Core/Deploy/ArtifactDeployStateOfTArtifactTEntity.cs
index afe619f3bd..72724ee57b 100644
--- a/src/Umbraco.Core/Deploy/ArtifactDeployStateOfTArtifactTEntity.cs
+++ b/src/Umbraco.Core/Deploy/ArtifactDeployStateOfTArtifactTEntity.cs
@@ -15,7 +15,7 @@ namespace Umbraco.Cms.Core.Deploy
/// The entity.
/// The service connector deploying the artifact.
/// The next pass number.
- public ArtifactDeployState(TArtifact art, TEntity entity, IServiceConnector connector, int nextPass)
+ public ArtifactDeployState(TArtifact art, TEntity? entity, IServiceConnector connector, int nextPass)
{
Artifact = art;
Entity = entity;
@@ -31,7 +31,7 @@ namespace Umbraco.Cms.Core.Deploy
///
/// Gets or sets the entity.
///
- public TEntity Entity { get; set; }
+ public TEntity? Entity { get; set; }
///
protected sealed override IArtifact GetArtifactAsIArtifact()
diff --git a/src/Umbraco.Core/Deploy/IArtifactSignature.cs b/src/Umbraco.Core/Deploy/IArtifactSignature.cs
index edd4d1ad42..695624cd86 100644
--- a/src/Umbraco.Core/Deploy/IArtifactSignature.cs
+++ b/src/Umbraco.Core/Deploy/IArtifactSignature.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
namespace Umbraco.Cms.Core.Deploy
{
@@ -36,6 +36,6 @@ namespace Umbraco.Cms.Core.Deploy
///
/// Gets the dependencies of this artifact.
///
- IEnumerable? Dependencies { get; }
+ IEnumerable Dependencies { get; }
}
}
diff --git a/src/Umbraco.Core/Models/ContentEditing/ContentItemDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/ContentItemDisplay.cs
index 85968222e7..874f2f085a 100644
--- a/src/Umbraco.Core/Models/ContentEditing/ContentItemDisplay.cs
+++ b/src/Umbraco.Core/Models/ContentEditing/ContentItemDisplay.cs
@@ -65,7 +65,7 @@ namespace Umbraco.Cms.Core.Models.ContentEditing
/// If a content item is invariant, this collection will only contain one item, else it will contain all culture variants
///
[DataMember(Name = "variants")]
- public IEnumerable? Variants { get; set; }
+ public IEnumerable Variants { get; set; }
[DataMember(Name = "owner")]
public UserProfile? Owner { get; set; }
diff --git a/src/Umbraco.Core/Models/Mapping/ContentVariantMapper.cs b/src/Umbraco.Core/Models/Mapping/ContentVariantMapper.cs
index 4685fb9cc4..2f330b581f 100644
--- a/src/Umbraco.Core/Models/Mapping/ContentVariantMapper.cs
+++ b/src/Umbraco.Core/Models/Mapping/ContentVariantMapper.cs
@@ -19,12 +19,12 @@ namespace Umbraco.Cms.Core.Models.Mapping
_localizedTextService = localizedTextService ?? throw new ArgumentNullException(nameof(localizedTextService));
}
- public IEnumerable? Map(IContent source, MapperContext context) where TVariant : ContentVariantDisplay
+ public IEnumerable Map(IContent source, MapperContext context) where TVariant : ContentVariantDisplay
{
var variesByCulture = source.ContentType.VariesByCulture();
var variesBySegment = source.ContentType.VariesBySegment();
- IList? variants = new List();
+ List variants = new ();
if (!variesByCulture && !variesBySegment)
{
@@ -38,7 +38,7 @@ namespace Umbraco.Cms.Core.Models.Mapping
else if (variesByCulture && !variesBySegment)
{
var languages = GetLanguages(context);
- variants = languages?
+ variants = languages
.Select(language => CreateVariantDisplay(context, source, language, null))
.WhereNotNull()
.ToList();
@@ -47,7 +47,7 @@ namespace Umbraco.Cms.Core.Models.Mapping
{
// Segment only
var segments = GetSegments(source);
- variants = segments?
+ variants = segments
.Select(segment => CreateVariantDisplay(context, source, null, segment))
.WhereNotNull()
.ToList();
@@ -64,7 +64,7 @@ namespace Umbraco.Cms.Core.Models.Mapping
throw new InvalidOperationException("No languages or segments available");
}
- variants = languages?
+ variants = languages
.SelectMany(language => segments
.Select(segment => CreateVariantDisplay(context, source, language, segment)))
.WhereNotNull()
@@ -74,11 +74,9 @@ namespace Umbraco.Cms.Core.Models.Mapping
return SortVariants(variants);
}
-
-
- private IList? SortVariants(IList? variants) where TVariant : ContentVariantDisplay
+ private IList SortVariants(IList variants) where TVariant : ContentVariantDisplay
{
- if (variants == null || variants.Count <= 1)
+ if (variants.Count <= 1)
{
return variants;
}
diff --git a/src/Umbraco.Core/Models/Mapping/MemberTabsAndPropertiesMapper.cs b/src/Umbraco.Core/Models/Mapping/MemberTabsAndPropertiesMapper.cs
index d6d3453a26..9a39051590 100644
--- a/src/Umbraco.Core/Models/Mapping/MemberTabsAndPropertiesMapper.cs
+++ b/src/Umbraco.Core/Models/Mapping/MemberTabsAndPropertiesMapper.cs
@@ -155,9 +155,9 @@ namespace Umbraco.Cms.Core.Models.Mapping
return prop;
}
- internal IDictionary GetMemberGroupValue(string? username)
+ internal IDictionary GetMemberGroupValue(string username)
{
- IEnumerable? userRoles = username.IsNullOrWhiteSpace() ? null : _memberService.GetAllRoles(username);
+ IEnumerable userRoles = _memberService.GetAllRoles(username);
// create a dictionary of all roles (except internal roles) + "false"
var result = _memberGroupService.GetAll()
diff --git a/src/Umbraco.Core/Models/Membership/MemberExportModel.cs b/src/Umbraco.Core/Models/Membership/MemberExportModel.cs
index e577c86e70..25ec9730d2 100644
--- a/src/Umbraco.Core/Models/Membership/MemberExportModel.cs
+++ b/src/Umbraco.Core/Models/Membership/MemberExportModel.cs
@@ -1,6 +1,3 @@
-using System;
-using System.Collections.Generic;
-
namespace Umbraco.Cms.Core.Models.Membership
{
public class MemberExportModel
@@ -10,10 +7,10 @@ namespace Umbraco.Cms.Core.Models.Membership
public string? Name { get; set; }
public string? Username { get; set; }
public string? Email { get; set; }
- public List? Groups { get; set; }
+ public List Groups { get; set; } = new ();
public string? ContentTypeAlias { get; set; }
public DateTime CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
- public List? Properties { get; set; }
+ public List Properties { get; set; } = new ();
}
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/ITemplateRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ITemplateRepository.cs
index fd206d5aff..185973623c 100644
--- a/src/Umbraco.Core/Persistence/Repositories/ITemplateRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/ITemplateRepository.cs
@@ -7,9 +7,9 @@ namespace Umbraco.Cms.Core.Persistence.Repositories
{
ITemplate? Get(string? alias);
- IEnumerable? GetAll(params string[] aliases);
+ IEnumerable GetAll(params string[] aliases);
- IEnumerable? GetChildren(int masterTemplateId);
+ IEnumerable GetChildren(int masterTemplateId);
IEnumerable GetDescendants(int masterTemplateId);
}
diff --git a/src/Umbraco.Core/Services/FileService.cs b/src/Umbraco.Core/Services/FileService.cs
index 2d901ffacd..d692765620 100644
--- a/src/Umbraco.Core/Services/FileService.cs
+++ b/src/Umbraco.Core/Services/FileService.cs
@@ -412,11 +412,11 @@ namespace Umbraco.Cms.Core.Services
/// Gets a list of all objects
///
/// An enumerable list of objects
- public IEnumerable? GetTemplates(params string[] aliases)
+ public IEnumerable GetTemplates(params string[] aliases)
{
using (ICoreScope scope = ScopeProvider.CreateCoreScope(autoComplete: true))
{
- return _templateRepository.GetAll(aliases)?.OrderBy(x => x.Name);
+ return _templateRepository.GetAll(aliases).OrderBy(x => x.Name);
}
}
@@ -424,11 +424,11 @@ namespace Umbraco.Cms.Core.Services
/// Gets a list of all objects
///
/// An enumerable list of objects
- public IEnumerable? GetTemplates(int masterTemplateId)
+ public IEnumerable GetTemplates(int masterTemplateId)
{
using (ICoreScope scope = ScopeProvider.CreateCoreScope(autoComplete: true))
{
- return _templateRepository.GetChildren(masterTemplateId)?.OrderBy(x => x.Name);
+ return _templateRepository.GetChildren(masterTemplateId).OrderBy(x => x.Name);
}
}
diff --git a/src/Umbraco.Core/Services/IFileService.cs b/src/Umbraco.Core/Services/IFileService.cs
index 8d68c20c81..6cbc06208c 100644
--- a/src/Umbraco.Core/Services/IFileService.cs
+++ b/src/Umbraco.Core/Services/IFileService.cs
@@ -199,13 +199,13 @@ namespace Umbraco.Cms.Core.Services
/// Gets a list of all objects
///
/// An enumerable list of objects
- IEnumerable? GetTemplates(params string[] aliases);
+ IEnumerable GetTemplates(params string[] aliases);
///
/// Gets a list of all objects
///
/// An enumerable list of objects
- IEnumerable? GetTemplates(int masterTemplateId);
+ IEnumerable GetTemplates(int masterTemplateId);
///
/// Gets a object by its alias.
diff --git a/src/Umbraco.Core/Services/ILocalizationService.cs b/src/Umbraco.Core/Services/ILocalizationService.cs
index f68214cfc3..eca2a8e070 100644
--- a/src/Umbraco.Core/Services/ILocalizationService.cs
+++ b/src/Umbraco.Core/Services/ILocalizationService.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
using Umbraco.Cms.Core.Models;
@@ -59,7 +59,7 @@ namespace Umbraco.Cms.Core.Services
///
/// Id of the parent
/// An enumerable list of objects
- IEnumerable? GetDictionaryItemChildren(Guid parentId);
+ IEnumerable GetDictionaryItemChildren(Guid parentId);
///
/// Gets a list of descendants for a
@@ -72,7 +72,7 @@ namespace Umbraco.Cms.Core.Services
/// Gets the root/top objects
///
/// An enumerable list of objects
- IEnumerable? GetRootDictionaryItems();
+ IEnumerable GetRootDictionaryItems();
///
/// Checks if a with given key exists
diff --git a/src/Umbraco.Core/Services/IMediaService.cs b/src/Umbraco.Core/Services/IMediaService.cs
index ee6ba02b66..fe14bdda0f 100644
--- a/src/Umbraco.Core/Services/IMediaService.cs
+++ b/src/Umbraco.Core/Services/IMediaService.cs
@@ -130,7 +130,7 @@ namespace Umbraco.Cms.Core.Services
/// Gets a collection of objects, which reside at the first level / root
///
/// An Enumerable list of objects
- IEnumerable? GetRootMedia();
+ IEnumerable GetRootMedia();
///
/// Gets a collection of an objects, which resides in the Recycle Bin
diff --git a/src/Umbraco.Core/Services/IMemberService.cs b/src/Umbraco.Core/Services/IMemberService.cs
index 6701090915..d6e0480091 100644
--- a/src/Umbraco.Core/Services/IMemberService.cs
+++ b/src/Umbraco.Core/Services/IMemberService.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Persistence.Querying;
@@ -127,14 +127,14 @@ namespace Umbraco.Cms.Core.Services
///
/// Alias of the MemberType
///
- IEnumerable? GetMembersByMemberType(string memberTypeAlias);
+ IEnumerable GetMembersByMemberType(string memberTypeAlias);
///
/// Gets all Members for the MemberType id
///
/// Id of the MemberType
///
- IEnumerable? GetMembersByMemberType(int memberTypeId);
+ IEnumerable GetMembersByMemberType(int memberTypeId);
///
/// Gets all Members within the specified MemberGroup name
diff --git a/src/Umbraco.Core/Services/IMembershipRoleService.cs b/src/Umbraco.Core/Services/IMembershipRoleService.cs
index 70e1d53491..5c62a84973 100644
--- a/src/Umbraco.Core/Services/IMembershipRoleService.cs
+++ b/src/Umbraco.Core/Services/IMembershipRoleService.cs
@@ -12,9 +12,9 @@ namespace Umbraco.Cms.Core.Services
IEnumerable GetAllRoles();
- IEnumerable? GetAllRoles(int memberId);
+ IEnumerable GetAllRoles(int memberId);
- IEnumerable GetAllRoles(string? username);
+ IEnumerable GetAllRoles(string username);
IEnumerable GetAllRolesIds();
diff --git a/src/Umbraco.Core/Services/LocalizationService.cs b/src/Umbraco.Core/Services/LocalizationService.cs
index ac9d800cb1..262697c935 100644
--- a/src/Umbraco.Core/Services/LocalizationService.cs
+++ b/src/Umbraco.Core/Services/LocalizationService.cs
@@ -179,18 +179,15 @@ namespace Umbraco.Cms.Core.Services
///
/// Id of the parent
/// An enumerable list of objects
- public IEnumerable? GetDictionaryItemChildren(Guid parentId)
+ public IEnumerable GetDictionaryItemChildren(Guid parentId)
{
using (var scope = ScopeProvider.CreateCoreScope(autoComplete: true))
{
var query = Query().Where(x => x.ParentId == parentId);
- var items = _dictionaryRepository.Get(query)?.ToArray();
- if (items is not null)
- {
- //ensure the lazy Language callback is assigned
- foreach (var item in items)
- EnsureDictionaryItemLanguageCallback(item);
- }
+ var items = _dictionaryRepository.Get(query).ToArray();
+ //ensure the lazy Language callback is assigned
+ foreach (var item in items)
+ EnsureDictionaryItemLanguageCallback(item);
return items;
}
@@ -217,18 +214,15 @@ namespace Umbraco.Cms.Core.Services
/// Gets the root/top objects
///
/// An enumerable list of objects
- public IEnumerable? GetRootDictionaryItems()
+ public IEnumerable GetRootDictionaryItems()
{
using (var scope = ScopeProvider.CreateCoreScope(autoComplete: true))
{
var query = Query().Where(x => x.ParentId == null);
- var items = _dictionaryRepository.Get(query)?.ToArray();
- if (items is not null)
- {
- //ensure the lazy Language callback is assigned
- foreach (var item in items)
- EnsureDictionaryItemLanguageCallback(item);
- }
+ var items = _dictionaryRepository.Get(query).ToArray();
+ //ensure the lazy Language callback is assigned
+ foreach (var item in items)
+ EnsureDictionaryItemLanguageCallback(item);
return items;
}
}
diff --git a/src/Umbraco.Core/Services/MediaService.cs b/src/Umbraco.Core/Services/MediaService.cs
index 446dae4f39..13ba415fee 100644
--- a/src/Umbraco.Core/Services/MediaService.cs
+++ b/src/Umbraco.Core/Services/MediaService.cs
@@ -590,7 +590,7 @@ namespace Umbraco.Cms.Core.Services
/// Gets a collection of objects, which reside at the first level / root
///
/// An Enumerable list of objects
- public IEnumerable? GetRootMedia()
+ public IEnumerable GetRootMedia()
{
using (var scope = ScopeProvider.CreateCoreScope(autoComplete: true))
{
diff --git a/src/Umbraco.Core/Services/MemberService.cs b/src/Umbraco.Core/Services/MemberService.cs
index 9d1b9edf9d..2a4498f7e4 100644
--- a/src/Umbraco.Core/Services/MemberService.cs
+++ b/src/Umbraco.Core/Services/MemberService.cs
@@ -406,7 +406,7 @@ namespace Umbraco.Cms.Core.Services
///
/// Alias of the MemberType
///
- public IEnumerable? GetMembersByMemberType(string memberTypeAlias)
+ public IEnumerable GetMembersByMemberType(string memberTypeAlias)
{
using (var scope = ScopeProvider.CreateCoreScope(autoComplete: true))
{
@@ -421,7 +421,7 @@ namespace Umbraco.Cms.Core.Services
///
/// Id of the MemberType
///
- public IEnumerable? GetMembersByMemberType(int memberTypeId)
+ public IEnumerable GetMembersByMemberType(int memberTypeId)
{
using (var scope = ScopeProvider.CreateCoreScope(autoComplete: true))
{
@@ -894,17 +894,17 @@ namespace Umbraco.Cms.Core.Services
///
///
/// A list of member roles
- public IEnumerable? GetAllRoles(int memberId)
+ public IEnumerable GetAllRoles(int memberId)
{
using (ICoreScope scope = ScopeProvider.CreateCoreScope(autoComplete: true))
{
scope.ReadLock(Constants.Locks.MemberTree);
var result = _memberGroupRepository.GetMemberGroupsForMember(memberId);
- return result.Select(x => x.Name).Distinct();
+ return result.Select(x => x.Name).WhereNotNull().Distinct();
}
}
- public IEnumerable GetAllRoles(string? username)
+ public IEnumerable GetAllRoles(string username)
{
using (ICoreScope scope = ScopeProvider.CreateCoreScope(autoComplete: true))
{
@@ -1107,7 +1107,7 @@ namespace Umbraco.Cms.Core.Services
Name = member.Name,
Username = member.Username,
Email = member.Email,
- Groups = GetAllRoles(member.Id)?.ToList(),
+ Groups = GetAllRoles(member.Id).ToList(),
ContentTypeAlias = member.ContentTypeAlias,
CreateDate = member.CreateDate,
UpdateDate = member.UpdateDate,
diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TemplateRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TemplateRepository.cs
index e214e2ef20..4dc3bb71f2 100644
--- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TemplateRepository.cs
+++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TemplateRepository.cs
@@ -504,7 +504,7 @@ namespace Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement
public ITemplate? Get(string? alias) => GetAll(alias)?.FirstOrDefault();
- public IEnumerable? GetAll(params string?[] aliases)
+ public IEnumerable GetAll(params string?[] aliases)
{
//We must call the base (normal) GetAll method
// which is cached. This is a specialized method and unfortunately with the params[] it
@@ -515,26 +515,26 @@ namespace Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement
}
//return from base.GetAll, this is all cached
- return base.GetMany()?.Where(x => aliases.WhereNotNull().InvariantContains(x.Alias));
+ return base.GetMany().Where(x => aliases.WhereNotNull().InvariantContains(x.Alias));
}
- public IEnumerable? GetChildren(int masterTemplateId)
+ public IEnumerable GetChildren(int masterTemplateId)
{
//return from base.GetAll, this is all cached
- ITemplate[]? all = base.GetMany()?.ToArray();
+ ITemplate[] all = base.GetMany().ToArray();
if (masterTemplateId <= 0)
{
- return all?.Where(x => x.MasterTemplateAlias.IsNullOrWhiteSpace());
+ return all.Where(x => x.MasterTemplateAlias.IsNullOrWhiteSpace());
}
- ITemplate? parent = all?.FirstOrDefault(x => x.Id == masterTemplateId);
+ ITemplate? parent = all.FirstOrDefault(x => x.Id == masterTemplateId);
if (parent == null)
{
return Enumerable.Empty();
}
- IEnumerable? children = all?.Where(x => x.MasterTemplateAlias.InvariantEquals(parent.Alias));
+ IEnumerable children = all.Where(x => x.MasterTemplateAlias.InvariantEquals(parent.Alias));
return children;
}
diff --git a/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs b/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs
index 91fda179e2..24cd1c5cbe 100644
--- a/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs
+++ b/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs
@@ -160,8 +160,10 @@ namespace Umbraco.Cms.Web.BackOffice.Mapping
target.Urls = GetUrls(source);
target.Variants = _contentVariantMapper.Map(source, context);
- target.ContentDto = new ContentPropertyCollectionDto();
- target.ContentDto.Properties = context.MapEnumerable(source.Properties).WhereNotNull();
+ target.ContentDto = new ContentPropertyCollectionDto
+ {
+ Properties = context.MapEnumerable(source.Properties).WhereNotNull()
+ };
}
// Umbraco.Code.MapAll -Segment -Language -DisplayName