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,
}
}