[csmaild-cvs] csmaild/src/Common/MailstoreProviders IMailstoreProvider.cs,1.2,1.3 XmlMailstoreProvid
Brought to you by:
tamc
From: <ta...@us...> - 2003-07-27 16:52:22
|
Update of /cvsroot/csmaild/csmaild/src/Common/MailstoreProviders In directory sc8-pr-cvs1:/tmp/cvs-serv28711/src/Common/MailstoreProviders Modified Files: IMailstoreProvider.cs XmlMailstoreProvider.cs Log Message: MailStoreProvider now requires insertion capabilities of a mailbox Mailbox has some accessor properties for getting some information IMAP likes to send out SELECT command uses new accessors Index: IMailstoreProvider.cs =================================================================== RCS file: /cvsroot/csmaild/csmaild/src/Common/MailstoreProviders/IMailstoreProvider.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IMailstoreProvider.cs 25 Jul 2003 03:39:12 -0000 1.2 --- IMailstoreProvider.cs 27 Jul 2003 16:52:19 -0000 1.3 *************** *** 18,21 **** --- 18,23 ---- #endregion + #region Mailbox stuff + #region Mailbox accessors /// <summary> *************** *** 39,42 **** --- 41,50 ---- /// <returns>An array containing the mailboxes (valid array of size 0 if none)</returns> Mailbox[] GetMailboxes(Mailbox parent); + #endregion + + #region Mailbox modifieres + bool InsertMailbox(Mailbox mbx); + #endregion + #endregion Index: XmlMailstoreProvider.cs =================================================================== RCS file: /cvsroot/csmaild/csmaild/src/Common/MailstoreProviders/XmlMailstoreProvider.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** XmlMailstoreProvider.cs 25 Jul 2003 23:35:24 -0000 1.3 --- XmlMailstoreProvider.cs 27 Jul 2003 16:52:19 -0000 1.4 *************** *** 34,37 **** --- 34,39 ---- #endregion + #region Mailbox stuff + #region Mailbox accessors public Mailbox GetMailbox(User user, string absoluteHiearchicalName) *************** *** 39,43 **** DataSet ds = new DataSet(); ds.ReadXml(mFolderPath + "Mailboxes.xml"); ! DataRow[] boxes = ds.Tables[0].Select("FullName = '" + absoluteHiearchicalName + "'"); if(boxes.Length == 0) --- 41,45 ---- DataSet ds = new DataSet(); ds.ReadXml(mFolderPath + "Mailboxes.xml"); ! DataRow[] boxes = ds.Tables[0].Select("FullName = '" + absoluteHiearchicalName + "' AND UserIdentifier = '" + user.Username + "'"); if(boxes.Length == 0) *************** *** 47,51 **** return new Mailbox(this, box["Name"] as string, box["FullName"] as string, uint.Parse(box["NextUniqueId"] as string), uint.Parse(box["UniqueIdValidity"] as string), user); } ! public Mailbox[] GetMailboxes(User user) { --- 49,53 ---- return new Mailbox(this, box["Name"] as string, box["FullName"] as string, uint.Parse(box["NextUniqueId"] as string), uint.Parse(box["UniqueIdValidity"] as string), user); } ! public Mailbox[] GetMailboxes(User user) { *************** *** 53,61 **** ds.ReadXml(mFolderPath + "Mailboxes.xml"); ! Mailbox[] boxes = new Mailbox[ds.Tables[0].Rows.Count]; ! for(int idx = 0; idx < boxes.Length; ++idx) { ! DataRow box = ds.Tables[0].Rows[idx]; boxes[idx] = new Mailbox(this, box["Name"] as string, box["FullName"] as string, uint.Parse(box["NextUniqueId"] as string), uint.Parse(box["UniqueIdValidity"] as string), user); } --- 55,64 ---- ds.ReadXml(mFolderPath + "Mailboxes.xml"); ! DataRow[] rows = ds.Tables[0].Select("UserIdentifier = '" + user.Username + "'"); ! Mailbox[] boxes = new Mailbox[rows.Length]; ! for(int idx = 0; idx < rows.Length; ++idx) { ! DataRow box = rows[idx]; boxes[idx] = new Mailbox(this, box["Name"] as string, box["FullName"] as string, uint.Parse(box["NextUniqueId"] as string), uint.Parse(box["UniqueIdValidity"] as string), user); } *************** *** 63,71 **** return boxes; } ! public Mailbox[] GetMailboxes(Mailbox parent) { return null; } #endregion --- 66,96 ---- return boxes; } ! public Mailbox[] GetMailboxes(Mailbox parent) { return null; } + #endregion + + #region Mailbox modifieres + public bool InsertMailbox(Mailbox mbx) + { + DataSet ds = new DataSet(); + ds.ReadXml(mFolderPath + "Mailboxes.xml"); + + DataRow newMbx = ds.Tables[0].NewRow(); + + newMbx["Name"] = mbx.Name; + newMbx["FullName"] = mbx.Name; + newMbx["NextUniqueId"] = mbx.NextUniqueId; + newMbx["UniqueIdValidity"] = mbx.UniqueIdValidity; + + ds.Tables[0].Rows.Add(newMbx); + ds.WriteXml(mFolderPath + "Mailboxes.xml"); + + return true; + } + #endregion + #endregion |