Revision: 39
Author: tmyroadctfig
Date: 2006-06-01 05:15:36 -0700 (Thu, 01 Jun 2006)
ViewCVS: http://svn.sourceforge.net/nmailserver/?rev=39&view=rev
Log Message:
-----------
Work on user administration in administration website.
Modified Paths:
--------------
NMail/branches/luke-dev/NMail/DataTypes/Folder.cs
NMail/branches/luke-dev/NMail/DataTypes/StoreFolder.cs
NMail/branches/luke-dev/NMail/ILocalStore.cs
NMail/branches/luke-dev/NMail/ILocalStoreData.cs
NMail/branches/luke-dev/NMail.Administration.Web/MailDomainDetails.aspx.cs
NMail/branches/luke-dev/NMail.Administration.Web/Web.sitemap
NMail/branches/luke-dev/NMail.LocalStore/LocalStore.cs
NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStore.sql
NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStoreData.cs
NMail/branches/luke-dev/NMail.Server.Console/NMailConsoleServer.cs
NMail/branches/luke-dev/NMail.sln
Added Paths:
-----------
NMail/branches/luke-dev/NDns/NDns.xml
NMail/branches/luke-dev/NMail.Administration.Web/App_Code/UserDataSource.cs
NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx
NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx.cs
NMail/branches/luke-dev/NMail.Administration.Web/ViewUsers.aspx
Property Changed:
----------------
NMail/branches/luke-dev/
Property changes on: NMail/branches/luke-dev
___________________________________________________________________
Name: svn:ignore
- NMail.suo
+ NMail.suo
NMail.Administration.Web.suo
Added: NMail/branches/luke-dev/NDns/NDns.xml
===================================================================
--- NMail/branches/luke-dev/NDns/NDns.xml (rev 0)
+++ NMail/branches/luke-dev/NDns/NDns.xml 2006-06-01 12:15:36 UTC (rev 39)
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>NDns</name>
+ </assembly>
+ <members>
+ </members>
+</doc>
Modified: NMail/branches/luke-dev/NMail/DataTypes/Folder.cs
===================================================================
--- NMail/branches/luke-dev/NMail/DataTypes/Folder.cs 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail/DataTypes/Folder.cs 2006-06-01 12:15:36 UTC (rev 39)
@@ -23,6 +23,7 @@
/// <summary>
/// Represents a folder in the local store.
/// </summary>
+ [Serializable]
public class Folder {
#region Constructors
/// <summary>
Modified: NMail/branches/luke-dev/NMail/DataTypes/StoreFolder.cs
===================================================================
--- NMail/branches/luke-dev/NMail/DataTypes/StoreFolder.cs 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail/DataTypes/StoreFolder.cs 2006-06-01 12:15:36 UTC (rev 39)
@@ -23,6 +23,7 @@
/// <summary>
/// A folder that has been obtained from the local store.
/// </summary>
+ [Serializable]
public class StoreFolder : Folder {
/// <summary>
/// Creates a new store folder.
Modified: NMail/branches/luke-dev/NMail/ILocalStore.cs
===================================================================
--- NMail/branches/luke-dev/NMail/ILocalStore.cs 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail/ILocalStore.cs 2006-06-01 12:15:36 UTC (rev 39)
@@ -431,6 +431,14 @@
/// <param name="mailDomainId">The Id of the mail domain to revome the user from.</param>
/// <returns>The result of the attempt to remove the user from the mail domain.</returns>
LocalStoreUserResult RemoveUserFromMailDomain(IAuthenticationToken authToken, int userId, int mailDomainId);
+
+ /// <summary>
+ /// Gets a list of folder that belong to the user with the given user Id.
+ /// </summary>
+ /// <param name="authToken">The authentication credentials.</param>
+ /// <param name="userId">The Id of the user to get the folder for.</param>
+ /// <returns>The list of folders or null if the user Id is invalid or unauthorized.</returns>
+ StoreFolder[] GetUserFolders(IAuthenticationToken authToken, int userId);
#endregion
#region Group Management
Modified: NMail/branches/luke-dev/NMail/ILocalStoreData.cs
===================================================================
--- NMail/branches/luke-dev/NMail/ILocalStoreData.cs 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail/ILocalStoreData.cs 2006-06-01 12:15:36 UTC (rev 39)
@@ -355,6 +355,13 @@
/// <param name="userId">The Id of the user to remove.</param>
/// <param name="mailDomainId">The Id of the mail domain to revome the user from.</param>
LocalStoreUserResult RemoveUserFromMailDomain(int userId, int mailDomainId);
+
+ /// <summary>
+ /// Gets a list of folder that belong to the user with the given user Id.
+ /// </summary>
+ /// <param name="userId">The Id of the user to get the folder for.</param>
+ /// <returns>The list of folders or null if the user Id is invalid.</returns>
+ StoreFolder[] GetUserFolders(int userId);
#endregion
#region Group Management
Added: NMail/branches/luke-dev/NMail.Administration.Web/App_Code/UserDataSource.cs
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/App_Code/UserDataSource.cs (rev 0)
+++ NMail/branches/luke-dev/NMail.Administration.Web/App_Code/UserDataSource.cs 2006-06-01 12:15:36 UTC (rev 39)
@@ -0,0 +1,62 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Configuration;
+using System.Web;
+using System.Web.Security;
+using System.Web.UI;
+using System.Web.SessionState;
+using System.Web.UI.WebControls;
+using System.Web.UI.WebControls.WebParts;
+using System.Web.UI.HtmlControls;
+
+using NMail;
+using NMail.Authentication;
+using NMail.DataTypes;
+
+namespace NMail.Administration.Web
+{
+ /// <summary>
+ /// Summary description for UserDataSource
+ /// </summary>
+ public static class UserDataSource
+ {
+ public static List<LocalStoreUser> GetUsers()
+ {
+ IHttpSessionState session = SessionStateUtility.GetHttpSessionStateFromContext(HttpContext.Current);
+ IAuthenticationToken authToken = (IAuthenticationToken)session["AuthToken"];
+ ILocalStore localStore = (ILocalStore)session["LocalStore"];
+
+ LocalStoreUser[] users = localStore.GetUsers(authToken);
+
+ return new List<LocalStoreUser>(users);
+ }
+
+ public static LocalStoreUser GetUser(int userId)
+ {
+ IHttpSessionState session = SessionStateUtility.GetHttpSessionStateFromContext(HttpContext.Current);
+ IAuthenticationToken authToken = (IAuthenticationToken)session["AuthToken"];
+ ILocalStore localStore = (ILocalStore)session["LocalStore"];
+
+ return localStore.GetUser(authToken, userId);
+ }
+
+ public static LocalStoreUserResult DeleteUser(int userId)
+ {
+ IHttpSessionState session = SessionStateUtility.GetHttpSessionStateFromContext(HttpContext.Current);
+ IAuthenticationToken authToken = (IAuthenticationToken)session["AuthToken"];
+ ILocalStore localStore = (ILocalStore)session["LocalStore"];
+
+ return localStore.DeleteUser(authToken, userId);
+ }
+
+ public static List<StoreFolder> GetUserFolders(int userId)
+ {
+ IHttpSessionState session = SessionStateUtility.GetHttpSessionStateFromContext(HttpContext.Current);
+ IAuthenticationToken authToken = (IAuthenticationToken)session["AuthToken"];
+ ILocalStore localStore = (ILocalStore)session["LocalStore"];
+
+ return new List<StoreFolder>(localStore.GetUserFolders(authToken, userId));
+ }
+ }
+}
Modified: NMail/branches/luke-dev/NMail.Administration.Web/MailDomainDetails.aspx.cs
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/MailDomainDetails.aspx.cs 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail.Administration.Web/MailDomainDetails.aspx.cs 2006-06-01 12:15:36 UTC (rev 39)
@@ -13,6 +13,9 @@
{
protected void Page_Load(object sender, EventArgs e)
{
-
+ if (!Request.IsAuthenticated)
+ {
+ Response.Redirect("Login.aspx");
+ }
}
}
Added: NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx (rev 0)
+++ NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx 2006-06-01 12:15:36 UTC (rev 39)
@@ -0,0 +1,57 @@
+<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="UserDetails.aspx.cs" Inherits="UserDetails" Title="Untitled Page" %>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">
+ <h2>User Details</h2>
+ <asp:Literal ID="StatusMessage" runat="server" Visible="False"></asp:Literal>
+ <asp:DetailsView ID="UserDetailsView" runat="server" AutoGenerateRows="False" CellPadding="4"
+ DataSourceID="UserDataSource" ForeColor="#333333" GridLines="None">
+ <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" />
+ <EditRowStyle BackColor="#2461BF" />
+ <RowStyle BackColor="#EFF3FB" />
+ <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
+ <Fields>
+ <asp:BoundField DataField="Username" HeaderText="Username" SortExpression="Username" />
+ <asp:BoundField DataField="UserId" HeaderText="User Id" ReadOnly="True" SortExpression="UserId" />
+ <asp:BoundField DataField="UserFolderId" HeaderText="User Initial Folder Id" SortExpression="UserFolderId" />
+ <asp:BoundField DataField="QuotaWarnLimit" HeaderText="Quota Warn Limit" SortExpression="QuotaWarnLimit" />
+ <asp:BoundField DataField="QuotaHardLimit" HeaderText="Quota Hard Limit" SortExpression="QuotaHardLimit" />
+ <asp:CommandField ShowDeleteButton="True" />
+ </Fields>
+ <FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True" />
+ <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <AlternatingRowStyle BackColor="White" />
+ </asp:DetailsView>
+ <asp:ObjectDataSource ID="UserDataSource" runat="server"
+ SelectMethod="GetUser" TypeName="NMail.Administration.Web.UserDataSource" DeleteMethod="DeleteUser" OnDeleting="UserDataSource_Deleting" OnDeleted="UserDataSource_Deleted">
+ <SelectParameters>
+ <asp:QueryStringParameter Name="userId" QueryStringField="UserId" Type="Int32" />
+ </SelectParameters>
+ <DeleteParameters>
+ <asp:Parameter Name="userId" Type="Int32" />
+ </DeleteParameters>
+ </asp:ObjectDataSource>
+ <h2>User's Folders</h2>
+ <asp:GridView ID="UserFoldersGridView" runat="server" AutoGenerateColumns="False" CellPadding="4"
+ DataSourceID="UserFolderDataSource" ForeColor="#333333" GridLines="None">
+ <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <Columns>
+ <asp:BoundField DataField="FolderId" HeaderText="Folder Id" SortExpression="FolderId" />
+ <asp:BoundField DataField="FolderName" HeaderText="Folder Name" ReadOnly="True" SortExpression="FolderName" />
+ <asp:BoundField DataField="NameSpace" HeaderText="Namespace" ReadOnly="True" SortExpression="NameSpace" />
+ <asp:CheckBoxField DataField="HasChildren" HeaderText="Has Children" SortExpression="HasChildren" />
+ </Columns>
+ <RowStyle BackColor="#EFF3FB" />
+ <EditRowStyle BackColor="#2461BF" />
+ <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
+ <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
+ <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <AlternatingRowStyle BackColor="White" />
+ </asp:GridView>
+ <asp:ObjectDataSource ID="UserFolderDataSource" runat="server" SelectMethod="GetUserFolders"
+ TypeName="NMail.Administration.Web.UserDataSource">
+ <SelectParameters>
+ <asp:QueryStringParameter Name="userId" QueryStringField="UserId" Type="Int32" />
+ </SelectParameters>
+ </asp:ObjectDataSource>
+</asp:Content>
+
Added: NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx.cs
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx.cs (rev 0)
+++ NMail/branches/luke-dev/NMail.Administration.Web/UserDetails.aspx.cs 2006-06-01 12:15:36 UTC (rev 39)
@@ -0,0 +1,42 @@
+using System;
+using System.Data;
+using System.Configuration;
+using System.Collections;
+using System.Web;
+using System.Web.Security;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using System.Web.UI.WebControls.WebParts;
+using System.Web.UI.HtmlControls;
+
+using NMail;
+
+public partial class UserDetails : System.Web.UI.Page
+{
+ protected void UserDataSource_Deleting(object sender, ObjectDataSourceMethodEventArgs e)
+ {
+ e.InputParameters["userId"] = Request.QueryString["UserId"];
+ }
+
+ protected void UserDataSource_Deleted(object sender, ObjectDataSourceStatusEventArgs e)
+ {
+ LocalStoreUserResult result = (LocalStoreUserResult)e.ReturnValue;
+
+ this.StatusMessage.Visible = true;
+
+ switch (result)
+ {
+ case LocalStoreUserResult.UserStillHasFolders:
+ this.StatusMessage.Text = "Could not delete the user because they still own folders.";
+ break;
+ }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!Request.IsAuthenticated)
+ {
+ Response.Redirect("Login.aspx");
+ }
+ }
+}
Added: NMail/branches/luke-dev/NMail.Administration.Web/ViewUsers.aspx
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/ViewUsers.aspx (rev 0)
+++ NMail/branches/luke-dev/NMail.Administration.Web/ViewUsers.aspx 2006-06-01 12:15:36 UTC (rev 39)
@@ -0,0 +1,36 @@
+<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" Title="Untitled Page" %>
+
+<script runat="server">
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!Request.IsAuthenticated)
+ {
+ Response.Redirect("Login.aspx");
+ }
+ }
+</script>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">
+ <asp:GridView ID="GridView1" runat="server" DataSourceID="UserDataSource" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None">
+ <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <Columns>
+ <asp:BoundField DataField="UserId" HeaderText="UserId" SortExpression="UserId" />
+ <asp:BoundField DataField="UserFolderId" HeaderText="UserFolderId" SortExpression="UserFolderId" />
+ <asp:BoundField DataField="QuotaWarnLimit" HeaderText="QuotaWarnLimit" SortExpression="QuotaWarnLimit" />
+ <asp:BoundField DataField="QuotaHardLimit" HeaderText="QuotaHardLimit" SortExpression="QuotaHardLimit" />
+ <asp:BoundField DataField="Username" HeaderText="Username" SortExpression="Username" />
+ <asp:HyperLinkField DataNavigateUrlFields="UserId" DataNavigateUrlFormatString="UserDetails.aspx?UserId={0}"
+ HeaderText="Edit" Text="edit" />
+ </Columns>
+ <RowStyle BackColor="#EFF3FB" />
+ <EditRowStyle BackColor="#2461BF" />
+ <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
+ <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
+ <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
+ <AlternatingRowStyle BackColor="White" />
+ </asp:GridView>
+ <asp:ObjectDataSource ID="UserDataSource" runat="server" SelectMethod="GetUsers"
+ TypeName="NMail.Administration.Web.UserDataSource"></asp:ObjectDataSource>
+</asp:Content>
+
Modified: NMail/branches/luke-dev/NMail.Administration.Web/Web.sitemap
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/Web.sitemap 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail.Administration.Web/Web.sitemap 2006-06-01 12:15:36 UTC (rev 39)
@@ -3,5 +3,6 @@
<siteMapNode url="Default.aspx" title="Home" description="">
<siteMapNode url="Login.aspx" title="Login" description="" />
<siteMapNode url="ViewMailDomains.aspx" title="Mail Domains" description="" />
+ <siteMapNode url="ViewUsers.aspx" title="Users" description="" />
</siteMapNode>
</siteMap>
Modified: NMail/branches/luke-dev/NMail.LocalStore/LocalStore.cs
===================================================================
--- NMail/branches/luke-dev/NMail.LocalStore/LocalStore.cs 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail.LocalStore/LocalStore.cs 2006-06-01 12:15:36 UTC (rev 39)
@@ -992,6 +992,16 @@
public LocalStoreUserResult RemoveUserFromMailDomain(IAuthenticationToken authToken, int userId, int mailDomainId) {
return this.LocalStoreData.RemoveUserFromMailDomain(userId, mailDomainId);
}
+
+ /// <summary>
+ /// Gets a list of folder that belong to the user with the given user Id.
+ /// </summary>
+ /// <param name="authToken">The authentication credentials.</param>
+ /// <param name="userId">The Id of the user to get the folder for.</param>
+ /// <returns>The list of folders or null if the user Id is invalid or unauthorized.</returns>
+ public StoreFolder[] GetUserFolders(IAuthenticationToken authToken, int userId) {
+ return this.LocalStoreData.GetUserFolders(userId);
+ }
#endregion
#region Group Management
Modified: NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStore.sql
===================================================================
--- NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStore.sql 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStore.sql 2006-06-01 12:15:36 UTC (rev 39)
@@ -515,7 +515,24 @@
END
//
+DROP PROCEDURE IF EXISTS GetUserFolders //
+CREATE PROCEDURE GetUserFolders
+(
+ UserId INT
+)
+BEGIN
+ SELECT
+ f.FolderId, f.Name, n.Name AS NameSpace
+ FROM
+ Folder f, Namespace n
+ WHERE
+ f.NameSpaceId = n.NameSpaceId
+ AND f.OwnerUserId = UserId;
+END
+//
+
+
-- -----------------------------------------------------------------------
--
-- Group related stored procedures
Modified: NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStoreData.cs
===================================================================
--- NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStoreData.cs 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStoreData.cs 2006-06-01 12:15:36 UTC (rev 39)
@@ -980,8 +980,8 @@
// Parse out all the returned values
string name = (string) cmd.Parameters["Name"].Value;
- object quotaHardLimit = (int) cmd.Parameters["QuotaHardLimit"].Value;
- object quotaWarnLimit = (int) cmd.Parameters["QuotaWarnLimit"].Value;
+ object quotaHardLimit = cmd.Parameters["QuotaHardLimit"].Value;
+ object quotaWarnLimit = cmd.Parameters["QuotaWarnLimit"].Value;
int userFolderId = (int) cmd.Parameters["UserFolderId"].Value;
int? quotaHardLimitVal = (quotaHardLimit == DBNull.Value) ? null : (int?) quotaHardLimit;
@@ -1015,9 +1015,11 @@
MySqlDataReader reader = cmd.ExecuteReader();
List<int> userIds = new List<int>();
- while (reader.NextResult()) {
+ while (reader.Read()) {
int userId = (int) reader["UserId"];
+ userIds.Add(userId);
}
+ reader.Close();
List<LocalStoreUser> users = new List<LocalStoreUser>();
foreach (int userId in userIds) {
@@ -1190,6 +1192,35 @@
public LocalStoreUserResult RemoveUserFromMailDomain(int userId, int mailDomainId) {
throw new NotImplementedException();
}
+
+ /// <summary>
+ /// Gets a list of folders that belong to the user with the given user Id.
+ /// </summary>
+ /// <param name="userId">The Id of the user to get the folder for.</param>
+ /// <returns>The list of folders or null if the user Id is invalid.</returns>
+ public StoreFolder[] GetUserFolders(int userId) {
+ using (MySqlConnection cnn = GetConnection()) {
+ using (MySqlCommand cmd = cnn.CreateCommand()) {
+ cmd.CommandType = CommandType.StoredProcedure;
+ cmd.CommandText = "GetUserFolders";
+ cmd.Parameters.Add("UserId", userId);
+
+ List<StoreFolder> folders = new List<StoreFolder>();
+ MySqlDataReader reader = cmd.ExecuteReader();
+
+ while (reader.Read()) {
+ int folderId = (int) reader["FolderId"];
+ string nameSpace = (string) reader["NameSpace"];
+ string name = (string) reader["Name"];
+
+ // TODO: Get HasChildren from the reader
+ folders.Add(new StoreFolder(nameSpace, name, folderId, false));
+ }
+
+ return folders.ToArray();
+ }
+ }
+ }
#endregion
#region Group Management
Modified: NMail/branches/luke-dev/NMail.Server.Console/NMailConsoleServer.cs
===================================================================
--- NMail/branches/luke-dev/NMail.Server.Console/NMailConsoleServer.cs 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail.Server.Console/NMailConsoleServer.cs 2006-06-01 12:15:36 UTC (rev 39)
@@ -60,31 +60,13 @@
// TODO: remove (for testing only)
- NMail.LocalStoreData.MySql.MySqlLocalStoreData m = new NMail.LocalStoreData.MySql.MySqlLocalStoreData();
- LocalStoreFolderResult rda = m.CreateFolder(1, null, new NMail.DataTypes.Folder("LocalMail", "AAA"));
- NMail.DataTypes.StoreFolder rff = m.GetStoreFolder(new NMail.DataTypes.Folder("LocalMail", "AAA"));
- LocalStoreGroupResult r1 = m.CreateGroup("Test123");
- NMail.DataTypes.LocalStoreGroup g12 = m.GetGroup("Test123");
- NMail.DataTypes.LocalStoreGroup g1 = m.GetGroup("aaaAdministrators");
- LocalStoreUserResult r2 = m.CreateUser("Test123", 100, 100);
- NMail.DataTypes.LocalStoreUser u = m.GetUser("Test123");
- r2 = m.DeleteUser(u.UserId);
- rff = m.GetStoreFolder(new NMail.DataTypes.Folder("LocalMail", "Test123"));
- rda = m.DeleteFolder(rff);
- rff = m.GetStoreFolder(new NMail.DataTypes.Folder("LocalMail", "Test123.INBOX"));
- rda = m.DeleteFolder(rff);
- rff = m.GetStoreFolder(new NMail.DataTypes.Folder("LocalMail", "Test123"));
- rda = m.DeleteFolder(rff);
- //r2 = m.DeleteUser(u.UserId);
- LocalStoreGroupResult rr = m.DeleteGroup(g12.GroupId);
- rda = m.DeleteFolder(rff);
+ /*NMail.LocalStoreData.MySql.MySqlLocalStoreData m = new NMail.LocalStoreData.MySql.MySqlLocalStoreData();
+ m.AddMailDomain(new NMail.DataTypes.LocalStore.MailDomain(1, new NMail.DataTypes.Host("localhost"))); */
-
-
// start the server
server.Start();
Modified: NMail/branches/luke-dev/NMail.sln
===================================================================
--- NMail/branches/luke-dev/NMail.sln 2006-05-30 10:25:50 UTC (rev 38)
+++ NMail/branches/luke-dev/NMail.sln 2006-06-01 12:15:36 UTC (rev 39)
@@ -40,8 +40,6 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NMail.Administration.Console", "NMail.Administration.Console\NMail.Administration.Console.csproj", "{93F9B202-EB30-4FF8-B10F-BD45FD3B7E9F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NMail.Administration.WebLib", "NMail.Administration.WebLib\NMail.Administration.WebLib.csproj", "{614C9689-45BE-4047-8D32-10D266C28E98}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -128,10 +126,6 @@
{93F9B202-EB30-4FF8-B10F-BD45FD3B7E9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{93F9B202-EB30-4FF8-B10F-BD45FD3B7E9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{93F9B202-EB30-4FF8-B10F-BD45FD3B7E9F}.Release|Any CPU.Build.0 = Release|Any CPU
- {614C9689-45BE-4047-8D32-10D266C28E98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {614C9689-45BE-4047-8D32-10D266C28E98}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {614C9689-45BE-4047-8D32-10D266C28E98}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {614C9689-45BE-4047-8D32-10D266C28E98}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|