84 lines
2.9 KiB
C#
84 lines
2.9 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using ZelWiki.Models.DataModels;
|
|
|
|
namespace ZelWiki.Models.ViewModels.Profile
|
|
{
|
|
public partial class AccountProfileAccountViewModel
|
|
{
|
|
[Display(Name = "主题")]
|
|
public string? Theme { get; set; } = string.Empty;
|
|
|
|
[Required(ErrorMessage = "UserId is required")]
|
|
public Guid UserId { get; set; }
|
|
|
|
[Display(Name = "邮箱")]
|
|
public string EmailAddress { get; set; } = string.Empty;
|
|
|
|
[Display(Name = "账号")]
|
|
[Required(ErrorMessage = "Account Name is required")]
|
|
public string AccountName { get; set; } = string.Empty;
|
|
|
|
public string Navigation { get; set; } = string.Empty;
|
|
|
|
[Display(Name = "名")]
|
|
public string? FirstName { get; set; }
|
|
|
|
[Display(Name = "姓")]
|
|
public string? LastName { get; set; } = string.Empty;
|
|
|
|
[Display(Name = "时区")]
|
|
[Required(ErrorMessage = "TimeZone is required")]
|
|
public string TimeZone { get; set; } = string.Empty;
|
|
|
|
[Display(Name = "国家")]
|
|
[Required(ErrorMessage = "Country is required")]
|
|
public string Country { get; set; } = string.Empty;
|
|
|
|
[Display(Name = "语言")]
|
|
[Required(ErrorMessage = "Language is required")]
|
|
public string Language { get; set; } = string.Empty;
|
|
|
|
[Display(Name = "个人简介")]
|
|
public string? Biography { get; set; } = string.Empty;
|
|
|
|
[Display(Name = "Email Confirmed?")]
|
|
public bool EmailConfirmed { get; set; } = true;
|
|
|
|
public byte[]? Avatar { get; set; }
|
|
|
|
public DateTime CreatedDate { get; set; }
|
|
public DateTime ModifiedDate { get; set; }
|
|
|
|
public int PaginationPageSize { get; set; }
|
|
public int PaginationPageCount { get; set; }
|
|
|
|
[Display(Name = "角色")]
|
|
public string? Role { get; set; } = string.Empty;
|
|
|
|
public static AccountProfileAccountViewModel FromDataModel(AccountProfile model)
|
|
{
|
|
return new AccountProfileAccountViewModel
|
|
{
|
|
Theme = model.Theme,
|
|
UserId = model.UserId,
|
|
EmailAddress = model.EmailAddress,
|
|
AccountName = model.AccountName,
|
|
Avatar = model.Avatar,
|
|
Biography = model.Biography,
|
|
Country = model.Country,
|
|
Language = model.Language,
|
|
CreatedDate = model.CreatedDate,
|
|
EmailConfirmed = model.EmailConfirmed,
|
|
FirstName = model.FirstName,
|
|
LastName = model.LastName,
|
|
ModifiedDate = model.ModifiedDate,
|
|
Navigation = model.Navigation,
|
|
PaginationPageCount = model.PaginationPageCount,
|
|
Role = model.Role,
|
|
PaginationPageSize = model.PaginationPageSize,
|
|
TimeZone = model.TimeZone
|
|
};
|
|
}
|
|
}
|
|
}
|