public bool SendAllItemsToMail(string sender, string title, eMailType type) { if (this.m_saveToDb) { base.BeginChanges(); try { using (PlayerBussiness playerBussiness = new PlayerBussiness()) { object @lock; Monitor.Enter(@lock = this.m_lock); try { List <ItemInfo> items = this.GetItems(); int count = items.Count; for (int i = 0; i < count; i += 5) { MailInfo mailInfo = new MailInfo(); mailInfo.SenderID = 0; mailInfo.Sender = sender; mailInfo.ReceiverID = this.m_player.PlayerCharacter.ID; mailInfo.Receiver = this.m_player.PlayerCharacter.NickName; mailInfo.Title = title; mailInfo.Type = (int)type; mailInfo.Content = ""; List <ItemInfo> list = new List <ItemInfo>(); for (int j = 0; j < 5; j++) { int num = i * 5 + j; if (num < items.Count) { list.Add(items[num]); } } if (!this.SendItemsToMail(list, mailInfo, playerBussiness)) { return(false); } } } finally { Monitor.Exit(@lock); } } } catch (Exception arg) { Console.WriteLine("Send Items Mail Error:" + arg); } finally { this.SaveToDatabase(); base.CommitChanges(); } this.m_player.Out.SendMailResponse(this.m_player.PlayerCharacter.ID, eMailRespose.Receiver); return(true); } return(true); }
/// <summary> /// 群发邮件 /// </summary> public bool SendAllItemsToMail(string sender, string title, eMailType type) { if (m_saveToDb) { BeginChanges(); try { using (PlayerBussiness pb = new PlayerBussiness()) { lock (m_lock) { List <ItemInfo> items = GetItems(); int count = items.Count; for (int i = 0; i < count; i += 5) { MailInfo mail = new MailInfo(); mail.SenderID = 0; mail.Sender = sender; mail.ReceiverID = m_player.PlayerCharacter.ID; mail.Receiver = m_player.PlayerCharacter.NickName; mail.Title = title; mail.Type = (int)type; mail.Content = ""; List <ItemInfo> list = new List <ItemInfo>(); for (int j = 0; j < 5; j++) { int index = i * 5 + j; if (index < items.Count) { list.Add(items[index]); } } if (SendItemsToMail(list, mail, pb) == false) { return(false); } } } } } catch (Exception ex) { Console.WriteLine("Send Items Mail Error:" + ex); } finally { SaveToDatabase(); CommitChanges(); } m_player.Out.SendMailResponse(m_player.PlayerCharacter.ID, eMailRespose.Receiver); } return(true); }
public void CopyFromInfo(MailInfo mail_info) { mail_idx = mail_info.mail_idx; mail_type = mail_info.mail_type; sender_idx = mail_info.sender_idx; sender_name = mail_info.sender_name; send_time = mail_info.send_time; expire_time = mail_info.expire_time; flags = mail_info.flags; subject = mail_info.subject; }
public void Read(ByteArray by) { mail_idx = by.ReadLong(); mail_type = (eMailType)by.ReadByte(); sender_idx = by.ReadLong(); sender_name = by.ReadString(); send_time = by.ReadLong(); expire_time = by.ReadInt(); flags = by.ReadUInt(); subject = by.ReadString(); }
public void Read(ByteArray by) { mail_idx = by.ReadLong(); mail_type = (eMailType)by.ReadByte(); spid = by.ReadUShort(); receiver_idx = by.ReadLong(); sender_idx = by.ReadLong(); sender_name = by.ReadString(); send_time = by.ReadLong(); expire_time = by.ReadInt(); delivery_time = by.ReadInt(); flags = by.ReadUInt(); subject = by.ReadString(); bin_mail_content.Read(by); }
public void Copy(MailInfo mail_info) { mail_idx = mail_info.mail_idx; mail_type = mail_info.mail_type; spid = mail_info.spid; receiver_idx = mail_info.receiver_idx; sender_idx = mail_info.sender_idx; sender_name = mail_info.sender_name; send_time = mail_info.send_time; expire_time = mail_info.expire_time; delivery_time = mail_info.delivery_time; flags = mail_info.flags; subject = mail_info.subject; bin_mail_content = mail_info.bin_mail_content; }
public bool SendAllItemsToMail(string sender, string title, eMailType type) { bool result = true; bool sentMail = false; if (this.m_saveToDb) { base.BeginChanges(); try { object @lock; Monitor.Enter(@lock = this.m_lock); try { List <ItemInfo> items = this.GetItems(); int count = items.Count; if (count > 0) { sentMail = true; } result = this.m_player.SendItemsToMail(items, "Game.Server.GameUtils.CommonBag.Sender", title, type); } finally { Monitor.Exit(@lock); } } catch (Exception ex) { PlayerInventory.log.Error("Send Items Mail Error:", ex); } finally { this.SaveToDatabase(); base.CommitChanges(); } if (sentMail) { this.m_player.Out.SendMailResponse(this.m_player.PlayerCharacter.ID, eMailRespose.Receiver); } } return(result); }
/// <summary> /// 群发邮件 /// </summary> public bool SendAllItemsToMail(string sender,string title,eMailType type) { if (m_saveToDb) { BeginChanges(); try { using (PlayerBussiness pb = new PlayerBussiness()) { lock (m_lock) { List<ItemInfo> items = GetItems(); int count = items.Count; for (int i = 0; i < count; i += 5) { MailInfo mail = new MailInfo(); mail.SenderID = 0; mail.Sender = sender; mail.ReceiverID = m_player.PlayerCharacter.ID; mail.Receiver = m_player.PlayerCharacter.NickName; mail.Title = title; mail.Type = (int)type; mail.Content = ""; List<ItemInfo> list = new List<ItemInfo>(); for(int j = 0; j < 5; j ++) { int index = i * 5 + j; if(index < items.Count) { list.Add(items[index]); } } if (SendItemsToMail(list, mail, pb) == false) { return false; } } } } } catch (Exception ex) { Console.WriteLine("Send Items Mail Error:" + ex); } finally { SaveToDatabase(); CommitChanges(); } m_player.Out.SendMailResponse(m_player.PlayerCharacter.ID, eMailRespose.Receiver); } return true; }