Files
raphael d6db0bfdb2 跨平台初版,修复了一些主线BUG,部分字符串做了汉化
武器精炼调整:普通、高级、稀有 的武器精炼上限递增
2024-08-07 15:11:07 +08:00

161 lines
3.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Library;
using MirDB;
using Server.Envir;
namespace Server.DBModels
{
[UserObject]
public sealed class MailInfo : DBObject
{
[Association("Mail")]
public AccountInfo Account
{
get { return _Account; }
set
{
if (_Account == value) return;
var oldValue = _Account;
_Account = value;
OnChanged(oldValue, value, "Account");
}
}
private AccountInfo _Account;
public string Sender
{
get { return _Sender; }
set
{
if (_Sender == value) return;
var oldValue = _Sender;
_Sender = value;
OnChanged(oldValue, value, "Sender");
}
}
private string _Sender;
public DateTime Date
{
get { return _Date; }
set
{
if (_Date == value) return;
var oldValue = _Date;
_Date = value;
OnChanged(oldValue, value, "Date");
}
}
private DateTime _Date;
public string Subject
{
get { return _Subject; }
set
{
if (_Subject == value) return;
var oldValue = _Subject;
_Subject = value;
OnChanged(oldValue, value, "Subject");
}
}
private string _Subject;
public string Message
{
get { return _Message; }
set
{
if (_Message == value) return;
var oldValue = _Message;
_Message = value;
OnChanged(oldValue, value, "Message");
}
}
private string _Message;
public bool Opened
{
get { return _Opened; }
set
{
if (_Opened == value) return;
var oldValue = _Opened;
_Opened = value;
OnChanged(oldValue, value, "Opened");
}
}
private bool _Opened;
public bool HasItem
{
get { return _HasItem; }
set
{
if (_HasItem == value) return;
var oldValue = _HasItem;
_HasItem = value;
OnChanged(oldValue, value, "HasItem");
}
}
private bool _HasItem;
[Association("Mail")]
public DBBindingList<UserItem> Items { get; set; }
protected override void OnDeleted()
{
Account = null;
base.OnDeleted();
}
protected override void OnCreated()
{
base.OnCreated();
Date = SEnvir.Now;
}
public ClientMailInfo ToClientInfo()
{
return new ClientMailInfo
{
Index = Index,
Subject = Subject,
Sender = Sender,
Date = Date,
Message = Message,
HasItem = HasItem,
Opened = Opened,
Items = Items.Select(x => x.ToClientInfo()).ToList()
};
}
public override string ToString()
{
return Account.EMailAddress ?? string.Empty;
}
}
}