* Rename Umbraco.Core namespace to Umbraco.Cms.Core * Move extension methods in core project to Umbraco.Extensions * Move extension methods in core project to Umbraco.Extensions * Rename Umbraco.Examine namespace to Umbraco.Cms.Examine * Move examine extensions to Umbraco.Extensions namespace * Reflect changed namespaces in Builder and fix unit tests * Adjust namespace in Umbraco.ModelsBuilder.Embedded * Adjust namespace in Umbraco.Persistence.SqlCe * Adjust namespace in Umbraco.PublishedCache.NuCache * Align namespaces in Umbraco.Web.BackOffice * Align namespaces in Umbraco.Web.Common * Ensure that SqlCeSupport is still enabled after changing the namespace * Align namespaces in Umbraco.Web.Website * Align namespaces in Umbraco.Web.UI.NetCore * Align namespaces in Umbraco.Tests.Common * Align namespaces in Umbraco.Tests.UnitTests * Align namespaces in Umbraco.Tests.Integration * Fix errors caused by changed namespaces * Fix integration tests * Undo the Umbraco.Examine.Lucene namespace change This breaks integration tests on linux, since the namespace wont exists there because it's only used on windows. * Fix merge * Fix Merge
53 lines
1.8 KiB
C#
53 lines
1.8 KiB
C#
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using System.Runtime.Serialization;
|
|
using Umbraco.Cms.Core.Models.Validation;
|
|
using Umbraco.Extensions;
|
|
|
|
namespace Umbraco.Cms.Core.Models.ContentEditing
|
|
{
|
|
/// <inheritdoc />
|
|
public class MemberSave : ContentBaseSave<IMember>
|
|
{
|
|
|
|
[DataMember(Name = "username", IsRequired = true)]
|
|
[RequiredForPersistence(AllowEmptyStrings = false, ErrorMessage = "Required")]
|
|
public string Username { get; set; }
|
|
|
|
[DataMember(Name = "email", IsRequired = true)]
|
|
[RequiredForPersistence(AllowEmptyStrings = false, ErrorMessage = "Required")]
|
|
[EmailAddress]
|
|
public string Email { get; set; }
|
|
|
|
[DataMember(Name = "password")]
|
|
public ChangingPasswordModel Password { get; set; }
|
|
|
|
[DataMember(Name = "memberGroups")]
|
|
public IEnumerable<string> Groups { get; set; }
|
|
|
|
/// <summary>
|
|
/// Returns the value from the Comments property
|
|
/// </summary>
|
|
public string Comments => GetPropertyValue<string>(Constants.Conventions.Member.Comments);
|
|
|
|
/// <summary>
|
|
/// Returns the value from the IsLockedOut property
|
|
/// </summary>
|
|
public bool IsLockedOut => GetPropertyValue<bool>(Constants.Conventions.Member.IsLockedOut);
|
|
|
|
/// <summary>
|
|
/// Returns the value from the IsApproved property
|
|
/// </summary>
|
|
public bool IsApproved => GetPropertyValue<bool>(Constants.Conventions.Member.IsApproved);
|
|
|
|
private T GetPropertyValue<T>(string alias)
|
|
{
|
|
var prop = Properties.FirstOrDefault(x => x.Alias == alias);
|
|
if (prop == null) return default;
|
|
var converted = prop.Value.TryConvertTo<T>();
|
|
return converted.ResultOr(default);
|
|
}
|
|
}
|
|
}
|