using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace VidFilesUpgradeTool { class User : AccountBase { public virtual AdminInfo CreateAdmin { get; set; } /// /// Terminals assigned to user /// public ICollection Terminals { get; set; } /// /// Applications assigned to user /// public ICollection Features { get; set; } public ICollection Organizations { get; set; } public ICollection PushFailedMessages { get; private set; } public ICollection PushFailedSystemMessages { get; private set; } public virtual ICollection Owners { get; private set; } public byte[] SmallHeadImage { get; set; } public string HeadImage { get; set; } public bool IsActive { get; set; } public string NickName { get; set; } public GenderType GenderType { get; set; } public string Region { get; set; } public string Hospital { get; set; } public string Department { get; set; } public string CertificateId { get; set; } public UserTypes UserType { get; set; } public UserPermissions UserPermission { get; set; } public int Rank { get; set; } } class AccountBase : TrackableEntity { /// /// user Name /// public string Name { get; set; } public string Password { get; set; } public string LastName { get; set; } public string FirstName { get; set; } public string Phone { get; set; } public string Email { get; set; } } class FeatureInfo: EntityInfo { } class PushFailedMessage : Entity { public virtual ChatMessage Message { get; set; } public int SessionSource { get; set; } } class PushFailedSystemMessage : Entity { public string Content { get; set; } public SystemMessageCode Type { get; set; } } class ChatMessage : MessageBase { } class MessageBase : TrackableEntity { public virtual ConversationInfo Conversation { get; set; } public virtual UserInfo CreateUser { get; set; } public string Content { get; set; } } class ConversationInfo : EntityInfo { } enum UserPermissions { //Can see the full patient name like '张三', and full indentity card id. High, //Can see partial patient name like '张*', and '3305****'. Low } enum SystemMessageCode { ApplyFriend, ApplyJoinGroup, NotifyBeFriends, CreateGroup, DismissGroup, } }