[csmaild-cvs] csmaild/src/Common/MailstoreProviders IMailstoreProvider.cs,1.7,1.8 XmlMailstoreProvid
Brought to you by:
tamc
From: <ta...@us...> - 2003-08-03 01:04:30
|
Update of /cvsroot/csmaild/csmaild/src/Common/MailstoreProviders In directory sc8-pr-cvs1:/tmp/cvs-serv17238/src/Common/MailstoreProviders Modified Files: IMailstoreProvider.cs XmlMailstoreProvider.cs Log Message: Can add messages to mailboxes now. Some minor fixes and additions to rfc2822 code Index: IMailstoreProvider.cs =================================================================== RCS file: /cvsroot/csmaild/csmaild/src/Common/MailstoreProviders/IMailstoreProvider.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** IMailstoreProvider.cs 1 Aug 2003 22:02:37 -0000 1.7 --- IMailstoreProvider.cs 3 Aug 2003 01:04:27 -0000 1.8 *************** *** 74,78 **** #region Message stuff - #region Message accessors /// <summary> /// Gets the message --- 74,77 ---- *************** *** 97,103 **** /// <returns>An array containing the mailboxes (valid array of size 0 if none)</returns> MessageCollection GetMessages(Mailbox box); - #endregion - #region Message delete /// <summary> /// Deletes all the messages in a mailbox --- 96,100 ---- *************** *** 105,109 **** /// <param name="box">The mailbox to clear out</param> void DeleteMessages(Mailbox box); ! #endregion #endregion --- 102,113 ---- /// <param name="box">The mailbox to clear out</param> void DeleteMessages(Mailbox box); ! ! ! /// <summary> ! /// Inserts the message into the data store ! /// </summary> ! /// <param name="msg">The message to insert</param> ! /// <returns>True is successful, false otherwise</returns> ! bool InsertMessage(Message msg, TextReader rawSrc); #endregion Index: XmlMailstoreProvider.cs =================================================================== RCS file: /cvsroot/csmaild/csmaild/src/Common/MailstoreProviders/XmlMailstoreProvider.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** XmlMailstoreProvider.cs 2 Aug 2003 15:57:10 -0000 1.9 --- XmlMailstoreProvider.cs 3 Aug 2003 01:04:27 -0000 1.10 *************** *** 132,135 **** --- 132,137 ---- row["Unmarked"] = box.Unmarked; } + + Save(false, true, false); } #endregion *************** *** 206,210 **** { DataRow message = messages[idx]; ! msgs.Add(new Message(this, message["Id"], uint.Parse(message["UniqueIdentifier"].ToString()), bool.Parse(message["Seen"].ToString()), bool.Parse(message["Answered"].ToString()), bool.Parse(message["Flagged"].ToString()), bool.Parse(message["Deleted"].ToString()), bool.Parse(message["Draft"].ToString()), int.Parse(message["Size"].ToString()), DateTime.Parse(message["InternalDate"].ToString()))); } --- 208,212 ---- { DataRow message = messages[idx]; ! msgs.Add(new Message(this, box, message["Id"], uint.Parse(message["UniqueIdentifier"].ToString()), bool.Parse(message["Seen"].ToString()), bool.Parse(message["Answered"].ToString()), bool.Parse(message["Flagged"].ToString()), bool.Parse(message["Deleted"].ToString()), bool.Parse(message["Draft"].ToString()), bool.Parse(message["Recent"].ToString()), int.Parse(message["Size"].ToString()), DateTime.Parse(message["InternalDate"].ToString()))); } *************** *** 220,223 **** --- 222,253 ---- msg.Delete(); Save(false, false, true); + } + #endregion + + #region Message insert + public bool InsertMessage(Message msg, TextReader rawSrc) + { + DataRow newMsg = mMessages.NewRow(); + + msg.ProvidersIdentifier = mNextMessageId++; + + // set provider specific unique id + newMsg["Id"] = msg.ProvidersIdentifier; + newMsg["MailboxId"] = msg.Mailbox.ProvidersIdentifier; + newMsg["UniqueIdentifier"] = msg.UniqueId; + newMsg["Seen"] = msg.Seen; + newMsg["Answered"] = msg.Answered; + newMsg["Flagged"] = msg.Flagged; + newMsg["Deleted"] = msg.Deleted; + newMsg["Draft"] = msg.Draft; + newMsg["Recent"] = msg.Recent; + newMsg["Size"] = msg.Size; + newMsg["InternalDate"] = msg.InternalDate; + newMsg["RawMessage"] = rawSrc.ReadToEnd(); + + mMessages.Rows.Add(newMsg); + Save(false, false, true); + + return true; } #endregion |