我滴个乖乖

This commit is contained in:
zel
2025-02-20 15:20:28 +08:00
parent 4b54cca70b
commit 485cfcd6f2
2343 changed files with 495732 additions and 1022 deletions

View File

@@ -0,0 +1,83 @@
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
};
}
}
}

View File

@@ -0,0 +1,13 @@
using ZelWiki.Library;
namespace ZelWiki.Models.ViewModels.Profile
{
public class AccountProfileViewModel : ViewModelBase
{
public List<Theme> Themes { get; set; } = new();
public List<TimeZoneItem> TimeZones { get; set; } = new();
public List<CountryItem> Countries { get; set; } = new();
public List<LanguageItem> Languages { get; set; } = new();
public AccountProfileAccountViewModel AccountProfile { get; set; } = new();
}
}

View File

@@ -0,0 +1,14 @@
using ZelWiki.Library;
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Profile
{
public class AccountViewModel : ViewModelBase
{
public List<TimeZoneItem> TimeZones { get; set; } = new();
public List<CountryItem> Countries { get; set; } = new();
public List<LanguageItem> Languages { get; set; } = new();
public List<Role> Roles { get; set; } = new();
public AccountProfile Account { get; set; } = new();
}
}

View File

@@ -0,0 +1,6 @@
namespace ZelWiki.Models.ViewModels.Profile
{
public class ConfirmViewModel : ViewModelBase
{
}
}

View File

@@ -0,0 +1,7 @@
namespace ZelWiki.Models.ViewModels.Profile
{
public class DeleteAccountViewModel : ViewModelBase
{
public string? AccountName { get; set; }
}
}

View File

@@ -0,0 +1,6 @@
namespace ZelWiki.Models.ViewModels.Profile
{
public class DeletedAccountViewModel : ViewModelBase
{
}
}

View File

@@ -0,0 +1,36 @@
using Microsoft.AspNetCore.Mvc.ModelBinding;
using System.ComponentModel.DataAnnotations;
using ZelWiki.Models.DataModels;
namespace ZelWiki.Models.ViewModels.Profile
{
public class PublicViewModel : ViewModelBase
{
public string Navigation { get; set; } = string.Empty;
public Guid Id { get; set; }
[Display(Name = "Name")]
public string AccountName { get; set; } = string.Empty;
[Display(Name = "Personal Bio")]
public string Biography { get; set; } = string.Empty;
[Display(Name = "Avatar")]
[BindNever]
public byte[]? Avatar { get; set; }
[Required]
[Display(Name = "Country")]
public string Country { get; set; } = string.Empty;
[Required]
[Display(Name = "Language")]
public string Language { get; set; } = string.Empty;
[Required]
[Display(Name = "Time Zone")]
public string TimeZone { get; set; } = string.Empty;
public List<PageRevision> RecentlyModified { get; set; } = new();
}
}