📄 contacthistorymessage.cs
字号:
namespace Imps.Client.Core
{
using System;
public class ContactHistoryMessage : IMessage
{
private string _body;
private string _extend;
private string _id = Guid.NewGuid().ToString("N");
private PlayerCollection _receiver = new PlayerCollection();
private DateTime _receiveTime = User.ServerTime;
private Player _sender;
private MessageType _type;
internal static ContactHistoryMessage RecordDeleteContact(User user, Contact contact)
{
ContactHistoryMessage message = new ContactHistoryMessage();
message._type = MessageType.DeleteBuddy;
message._sender = new Player(user.Uri.ToString(), (string) user.PersonalInfo.Nickname, PlayerType.User);
message._receiver.Add(new Player(contact.Uri.ToString(), contact.PersonalInfo.DisplayName, PlayerType.Contact));
return message;
}
internal static ContactHistoryMessage RecordReceiveAddBuddyApplication(User user, Contact contact)
{
ContactHistoryMessage message = new ContactHistoryMessage();
message._type = MessageType.AddBuddyRequest;
message._sender = new Player(contact.Uri.ToString(), contact.PersonalInfo.DisplayName, PlayerType.Contact);
message._receiver.Add(new Player(user.Uri.ToString(), (string) user.PersonalInfo.Nickname, PlayerType.User));
message._body = contact.Uri.Sid.ToString();
return message;
}
internal static ContactHistoryMessage RecordReceiveAddBuddyResponse(User user, Contact contact, ContactRelationStatus result)
{
ContactHistoryMessage message = new ContactHistoryMessage();
message._type = MessageType.AddBuddyResponse;
message._sender = new Player(user.Uri.ToString(), (string) user.PersonalInfo.Nickname, PlayerType.User);
message._receiver.Add(new Player(contact.Uri.ToString(), contact.PersonalInfo.DisplayName, PlayerType.Contact));
message._extend = ((int) result).ToString();
return message;
}
internal static ContactHistoryMessage RecordSendAddBuddyApplication(User user, Contact contact, bool isByMobileNo)
{
ContactHistoryMessage message = new ContactHistoryMessage();
message._type = MessageType.AddBuddyRequest;
message._sender = new Player(user.Uri.ToString(), (string) user.PersonalInfo.Nickname, PlayerType.User);
message._receiver.Add(new Player(contact.Uri.ToString(), contact.PersonalInfo.DisplayName, PlayerType.Contact));
if (isByMobileNo)
{
if (contact.Uri.MobileNo.Length != 0)
{
message._body = contact.Uri.MobileNo;
}
else
{
message._body = contact.PersonalInfo.MobileNoUserSet;
}
}
if (string.IsNullOrEmpty(message._body))
{
message._body = contact.Uri.Sid.ToString();
}
return message;
}
internal static ContactHistoryMessage RecordSendAddBuddyResponse(User user, Contact contact, ContactRelationStatus result)
{
ContactHistoryMessage message = new ContactHistoryMessage();
message._type = MessageType.AddBuddyResponse;
message._sender = new Player(contact.Uri.ToString(), contact.PersonalInfo.DisplayName, PlayerType.Contact);
message._receiver.Add(new Player(user.Uri.ToString(), (string) user.PersonalInfo.Nickname, PlayerType.User));
message._extend = ((int) result).ToString();
return message;
}
internal static ContactHistoryMessage RecordSendAddBuddyResponse(User user, string uri, string displayName, ContactRelationStatus result)
{
ContactHistoryMessage message = new ContactHistoryMessage();
message._type = MessageType.AddBuddyResponse;
message._sender = new Player(uri, displayName, PlayerType.Contact);
message._receiver.Add(new Player(user.Uri.ToString(), (string) user.PersonalInfo.Nickname, PlayerType.User));
message._extend = ((int) result).ToString();
return message;
}
public string Body
{
get
{
return this._body;
}
set
{
this._body = value;
}
}
public string Extend
{
get
{
return this._extend;
}
internal set
{
((IMessage) this).Extend = value;
}
}
public string ID
{
get
{
return this._id;
}
set
{
this._id = value;
}
}
string IMessage.Extend
{
get
{
return this._extend;
}
set
{
this._extend = value;
}
}
public PlayerCollection Receivers
{
get
{
return this._receiver;
}
}
public Player Sender
{
get
{
return this._sender;
}
set
{
this._sender = value;
}
}
public DateTime Time
{
get
{
return this._receiveTime;
}
set
{
this._receiveTime = value;
}
}
public MessageType Type
{
get
{
return this._type;
}
set
{
this._type = value;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -