|
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using System.ServiceModel.DomainServices.Server;
namespace IssueVision.Data.Web
{
/// <summary>
/// PasswordRestUser derives from User class and
/// only exposes the following four data members to the client:
/// Name, NewPassword, PasswordQuestion, and PasswordAnswer
/// </summary>
[DataContractAttribute(IsReference = true)]
[MetadataTypeAttribute(typeof(PasswordResetUser.PasswordResetUserMetadata))]
public sealed class PasswordResetUser : User
{
// This class allows you to attach custom attributes to properties
// of the PasswordResetUser class.
//
// For example, the following marks the Xyz property as a
// required field and specifies the format for valid values:
// [Required]
// [RegularExpression("[A-Z][A-Za-z0-9]*")]
// [StringLength(32)]
// public string Xyz;
internal sealed class PasswordResetUserMetadata : UserMetadata
{
// Metadata classes are not meant to be instantiated.
private PasswordResetUserMetadata()
{
}
[Key]
[Display(Name = "UserNameLabel", ResourceType = typeof(IssueVisionResources))]
[Required(ErrorMessageResourceName = "ValidationErrorRequiredField", ErrorMessageResourceType = typeof(ErrorResources))]
[RegularExpression("^[a-zA-Z0-9_]*$", ErrorMessageResourceName = "ValidationErrorInvalidUserName", ErrorMessageResourceType = typeof(ErrorResources))]
public new string Name { get; set; }
[DataMember]
[Display(Name = "SecurityQuestionLabel", ResourceType = typeof(IssueVisionResources))]
public string PasswordQuestion { get; set; }
[Exclude]
public new string Email { get; set; }
[Exclude]
public string FirstName { get; set; }
[Exclude]
public string LastName { get; set; }
[Exclude]
public string Password { get; set; }
[Exclude]
public string UserType { get; set; }
[Exclude]
public bool IsUserMaintenance { get; set; }
[Exclude]
public bool ProfileResetFlag { get; set; }
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Weidong has been an information system professional since 1990. He has a Master's degree in Computer Science, and is currently a MCSD .NET