PersonChatModel GetOrCreatePersonChat(Jid jid, out bool isNew)
{
var chat = (PersonChatModel) Session.GetChat(jid, ChatType.Person, this);
isNew = false;
if (chat != null) return chat;
var person = GetOrCreateContact(jid.Bare, jid);
PersonModel pers;
if (!String.IsNullOrEmpty(jid.Resource)) {
pers = new PersonModel(jid, person.IdentityName, NetworkID, Protocol, this);
} else {
pers = person.ToPersonModel();
}
isNew = true;
chat = Session.CreatePersonChat(pers, this);
if (jid == JabberClient.MyJID || jid == JabberClient.MyJID.Bare) {
var builder = CreateMessageBuilder();
builder.AppendEventPrefix();
builder.AppendText("Note: you are now talking to yourself");
Session.AddMessageToChat(chat, builder.ToMessage());
}
return chat;
}