using MongoDB.Bson.Serialization.Attributes;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Mpeg4ConverterTool.Document;
namespace Mpeg4ConverterTool
{
[BsonIgnoreExtraElementsAttribute]//忽略无法匹配的字段 2020-01-14 R00343 删除了firstName
internal 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 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 string Region { get; set; }
public string HospitalId { get; set; }
public string Hospital { get; set; }
public string Department { get; set; }
public string CertificateId { get; set; }
public int Rank { get; set; }
public string Introduction { get; set; }
public string Unionid { get; set; }
///
/// Gets or sets the Openid of this user.
///
public string Openid { get; set; }
public ChargeGroupInfo ChargeGroupInfo { get; set; }
///
/// direct server name
///
public string DirectServer { get; set; }
private User() : base()
{
Terminals = new Collection();
Features = new Collection();
Organizations = new Collection();
PushFailedMessages = new Collection();
Owners = new Collection();
}
public User(string id, DateTime createTime) : base(id, createTime)
{
Terminals = new Collection();
Features = new Collection();
Organizations = new Collection();
PushFailedMessages = new Collection();
Owners = new Collection();
}
}
///
/// 备注
///
internal class TerminalRemark
{
///
/// 国家
///
public string Country { get; set; }
///
/// 省份
///
public string Province { get; set; }
///
/// 代理商名称
///
public string AgentName { get; set; }
///
/// 医院名称
///
public string HospitalName { get; set; }
///
/// 其他备注
///
public string OtherRemark { get; set; }
}
///
/// 用户超声机
///
internal class UserTerminalInfo : TerminalInfo
{
///
/// 备注
///
public TerminalRemark Remark { get; set; }
public UserTerminalInfo()
{
Remark = new TerminalRemark();
}
public UserTerminalInfo(Terminal terminal, bool isShared = false) : base(terminal, isShared)
{
Remark = new TerminalRemark();
}
}
}