Added: Added Lync to the Scheduled Enterprise HOsting report

ReAdded: ability to send summary email when create an user account or a mailbox
This commit is contained in:
robvde 2012-10-30 22:30:22 +04:00
parent 3053af2827
commit 90a746bc3c
23 changed files with 278 additions and 40 deletions

View file

@ -6415,4 +6415,12 @@ exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @PackageID int, @Fil
RETURN RETURN
GO GO
IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTaskParameters] WHERE [ParameterID] = 'LYNC_REPORT')
BEGIN
INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_HOSTED_SOLUTION_REPORT', N'LYNC_REPORT', N'Boolean', N'true', 5)
END
GO

View file

@ -431,7 +431,12 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
} }
public static LyncUsersPagedResult GetLyncUsers(int itemId, string sortColumn, string sortDirection, int startRow, int count) public static LyncUsersPagedResult GetLyncUsers(int itemId)
{
return GetLyncUsersPaged(itemId, string.Empty, string.Empty, 0, int.MaxValue);
}
public static LyncUsersPagedResult GetLyncUsersPaged(int itemId, string sortColumn, string sortDirection, int startRow, int count)
{ {
LyncUsersPagedResult res = TaskManager.StartResultTask<LyncUsersPagedResult>("LYNC", "GET_LYNC_USERS"); LyncUsersPagedResult res = TaskManager.StartResultTask<LyncUsersPagedResult>("LYNC", "GET_LYNC_USERS");

View file

@ -517,7 +517,7 @@ namespace WebsitePanel.EnterpriseServer
try try
{ {
LyncUsersPagedResult res = LyncController.GetLyncUsers(itemId, string.Empty, string.Empty, 0, int.MaxValue); LyncUsersPagedResult res = LyncController.GetLyncUsers(itemId);
if (res.IsSuccess) if (res.IsSuccess)
{ {

View file

@ -123,8 +123,22 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
delegate(CRMOrganizationStatistics stats) { return stats.OrganizationID == org.OrganizationId; }); delegate(CRMOrganizationStatistics stats) { return stats.OrganizationID == org.OrganizationId; });
item.TotalCRMUsers = crmOrganizationStatistics.Count; item.TotalCRMUsers = crmOrganizationStatistics.Count;
}
if (report.LyncReport != null)
{
List<LyncUserStatistics> lyncOrganizationStatistics =
report.LyncReport.Items.FindAll(
delegate(LyncUserStatistics stats) { return stats.OrganizationID == org.OrganizationId; });
foreach (LyncUserStatistics current in lyncOrganizationStatistics)
{
if (current.EnterpriseVoice) item.TotalLyncEVUsers++;
}
item.TotalLyncUsers = lyncOrganizationStatistics.Count;
} }
report.OrganizationReport.Items.Add(item); report.OrganizationReport.Items.Add(item);
} }
@ -308,7 +322,20 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
{ {
TaskManager.WriteError(ex); TaskManager.WriteError(ex);
} }
}
if (report.LyncReport != null)
{
try
{
PopulateLyncReportItems(org, report, topReseller);
}
catch (Exception ex)
{
TaskManager.WriteError(ex);
}
} }
} }
private static int GetExchangeServiceID(int packageId) private static int GetExchangeServiceID(int packageId)
@ -316,6 +343,10 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
return PackageController.GetPackageServiceId(packageId, ResourceGroups.Exchange); return PackageController.GetPackageServiceId(packageId, ResourceGroups.Exchange);
} }
private static int GetLyncServiceID(int packageId)
{
return PackageController.GetPackageServiceId(packageId, ResourceGroups.Lync);
}
private static void PopulateSharePointItem(Organization org, EnterpriseSolutionStatisticsReport report, string topReseller) private static void PopulateSharePointItem(Organization org, EnterpriseSolutionStatisticsReport report, string topReseller)
@ -422,7 +453,13 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
{ {
PopulateBaseItem(stats, org, topReseller); PopulateBaseItem(stats, org, topReseller);
stats.MailboxType = mailbox.AccountType; stats.MailboxType = mailbox.AccountType;
if (mailbox.AccountType == ExchangeAccountType.Mailbox)
{
ExchangeAccount a = ExchangeServerController.GetAccount(mailbox.ItemId, mailbox.AccountId);
stats.MailboxPlan = a.MailboxPlan;
}
stats.BlackberryEnabled = BlackBerryController.CheckBlackBerryUserExists(mailbox.AccountId); stats.BlackberryEnabled = BlackBerryController.CheckBlackBerryUserExists(mailbox.AccountId);
report.ExchangeReport.Items.Add(stats); report.ExchangeReport.Items.Add(stats);
} }
@ -436,6 +473,74 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
} }
private static void PopulateLyncReportItems(Organization org, EnterpriseSolutionStatisticsReport report, string topReseller)
{
//Check if lync organization
if (string.IsNullOrEmpty(org.LyncTenantId))
return;
LyncUser[] lyncUsers = null;
try
{
LyncUsersPagedResult res = LyncController.GetLyncUsers(org.Id);
if (res.IsSuccess) lyncUsers = res.Value.PageUsers;
}
catch (Exception ex)
{
throw new ApplicationException(
string.Format("Could not get lync users for current organization {0}", org.Id), ex);
}
if (lyncUsers == null)
return;
foreach (LyncUser lyncUser in lyncUsers)
{
try
{
LyncUserStatistics stats = new LyncUserStatistics();
try
{
stats.SipAddress = lyncUser.PrimaryEmailAddress;
if (string.IsNullOrEmpty(lyncUser.LineUri)) stats.PhoneNumber = string.Empty; else stats.PhoneNumber = lyncUser.LineUri;
LyncUserPlan plan = LyncController.GetLyncUserPlan(org.Id, lyncUser.LyncUserPlanId);
stats.Conferencing = plan.Conferencing;
stats.EnterpriseVoice = plan.EnterpriseVoice;
stats.Federation = plan.Federation;
stats.InstantMessaing = plan.IM;
stats.MobileAccess = plan.Mobility;
stats.LyncUserPlan = plan.LyncUserPlanName;
}
catch (Exception ex)
{
TaskManager.WriteError(ex, "Could not get lync statistics. AccountName: {0}",
lyncUser.DisplayName);
}
if (stats != null)
{
PopulateBaseItem(stats, org, topReseller);
report.LyncReport.Items.Add(stats);
}
}
catch (Exception ex)
{
TaskManager.WriteError(ex);
}
}
}
private static void PopulateSpaceData(int packageId, EnterpriseSolutionStatisticsReport report, string topReseller) private static void PopulateSpaceData(int packageId, EnterpriseSolutionStatisticsReport report, string topReseller)
{ {
List<Organization> organizations; List<Organization> organizations;
@ -489,8 +594,8 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
} }
} }
private static void GetUsersData(EnterpriseSolutionStatisticsReport report, int userId, bool generateExchangeReport, bool generateSharePointReport, bool generateCRMReport, bool generateOrganizationReport, string topReseller) private static void GetUsersData(EnterpriseSolutionStatisticsReport report, int userId, bool generateExchangeReport, bool generateSharePointReport, bool generateCRMReport, bool generateOrganizationReport, bool generateLyncReport, string topReseller)
{ {
List<UserInfo> users; List<UserInfo> users;
try try
@ -514,6 +619,7 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
GetUsersData(report, user.UserId, generateExchangeReport, generateSharePointReport, GetUsersData(report, user.UserId, generateExchangeReport, generateSharePointReport,
generateCRMReport, generateCRMReport,
generateOrganizationReport, generateOrganizationReport,
generateLyncReport,
string.IsNullOrEmpty(topReseller) ? user.Username : topReseller); string.IsNullOrEmpty(topReseller) ? user.Username : topReseller);
} }
} }
@ -523,8 +629,8 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
} }
} }
} }
public static EnterpriseSolutionStatisticsReport GetEnterpriseSolutionStatisticsReport(int userId, bool generateExchangeReport, bool generateSharePointReport, bool generateCRMReport, bool generateOrganizationReport) public static EnterpriseSolutionStatisticsReport GetEnterpriseSolutionStatisticsReport(int userId, bool generateExchangeReport, bool generateSharePointReport, bool generateCRMReport, bool generateOrganizationReport, bool generateLyncReport)
{ {
EnterpriseSolutionStatisticsReport report = new EnterpriseSolutionStatisticsReport(); EnterpriseSolutionStatisticsReport report = new EnterpriseSolutionStatisticsReport();
@ -534,17 +640,20 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
if (generateSharePointReport || generateOrganizationReport) if (generateSharePointReport || generateOrganizationReport)
report.SharePointReport = new SharePointStatisticsReport(); report.SharePointReport = new SharePointStatisticsReport();
if (generateLyncReport || generateOrganizationReport)
report.LyncReport = new LyncStatisticsReport();
if (generateCRMReport || generateOrganizationReport) if (generateCRMReport || generateOrganizationReport)
report.CRMReport = new CRMStatisticsReport(); report.CRMReport = new CRMStatisticsReport();
if (generateOrganizationReport) if (generateOrganizationReport)
report.OrganizationReport = new OrganizationStatisticsReport(); report.OrganizationReport = new OrganizationStatisticsReport();
try try
{ {
GetUsersData(report, userId, generateExchangeReport, generateSharePointReport, generateCRMReport, GetUsersData(report, userId, generateExchangeReport, generateSharePointReport, generateCRMReport,
generateOrganizationReport, null); generateOrganizationReport, generateLyncReport, null);
} }
catch(Exception ex) catch(Exception ex)
{ {

View file

@ -42,6 +42,7 @@ namespace WebsitePanel.EnterpriseServer
private static readonly string EXCHANGE_REPORT = "EXCHANGE_REPORT"; private static readonly string EXCHANGE_REPORT = "EXCHANGE_REPORT";
private static readonly string ORGANIZATION_REPORT = "ORGANIZATION_REPORT"; private static readonly string ORGANIZATION_REPORT = "ORGANIZATION_REPORT";
private static readonly string SHAREPOINT_REPORT = "SHAREPOINT_REPORT"; private static readonly string SHAREPOINT_REPORT = "SHAREPOINT_REPORT";
private static readonly string LYNC_REPORT = "LYNC_REPORT";
private static readonly string CRM_REPORT = "CRM_REPORT"; private static readonly string CRM_REPORT = "CRM_REPORT";
private static readonly string EMAIL = "EMAIL"; private static readonly string EMAIL = "EMAIL";
@ -52,6 +53,7 @@ namespace WebsitePanel.EnterpriseServer
{ {
bool isExchange = Utils.ParseBool(TaskManager.TaskParameters[EXCHANGE_REPORT], false); bool isExchange = Utils.ParseBool(TaskManager.TaskParameters[EXCHANGE_REPORT], false);
bool isSharePoint = Utils.ParseBool(TaskManager.TaskParameters[SHAREPOINT_REPORT], false); bool isSharePoint = Utils.ParseBool(TaskManager.TaskParameters[SHAREPOINT_REPORT], false);
bool isLync = Utils.ParseBool(TaskManager.TaskParameters[LYNC_REPORT], false);
bool isCRM = Utils.ParseBool(TaskManager.TaskParameters[CRM_REPORT], false); bool isCRM = Utils.ParseBool(TaskManager.TaskParameters[CRM_REPORT], false);
bool isOrganization = Utils.ParseBool(TaskManager.TaskParameters[ORGANIZATION_REPORT], false); bool isOrganization = Utils.ParseBool(TaskManager.TaskParameters[ORGANIZATION_REPORT], false);
@ -61,13 +63,14 @@ namespace WebsitePanel.EnterpriseServer
UserInfo user = PackageController.GetPackageOwner(TaskManager.PackageId); UserInfo user = PackageController.GetPackageOwner(TaskManager.PackageId);
EnterpriseSolutionStatisticsReport report = EnterpriseSolutionStatisticsReport report =
ReportController.GetEnterpriseSolutionStatisticsReport(user.UserId, isExchange, isSharePoint, isCRM, ReportController.GetEnterpriseSolutionStatisticsReport(user.UserId, isExchange, isSharePoint, isCRM,
isOrganization); isOrganization, isLync);
SendMessage(user, email, isExchange && report.ExchangeReport != null ? report.ExchangeReport.ToCSV() : string.Empty, SendMessage(user, email, isExchange && report.ExchangeReport != null ? report.ExchangeReport.ToCSV() : string.Empty,
isSharePoint && report.SharePointReport != null ? report.SharePointReport.ToCSV() : string.Empty, isSharePoint && report.SharePointReport != null ? report.SharePointReport.ToCSV() : string.Empty,
isCRM && report.CRMReport != null ? report.CRMReport.ToCSV() : string.Empty, isCRM && report.CRMReport != null ? report.CRMReport.ToCSV() : string.Empty,
isOrganization && report.OrganizationReport != null ? report.OrganizationReport.ToCSV() : string.Empty); isOrganization && report.OrganizationReport != null ? report.OrganizationReport.ToCSV() : string.Empty,
isLync && report.LyncReport != null ? report.LyncReport.ToCSV() : string.Empty);
} }
catch(Exception ex) catch(Exception ex)
{ {
@ -90,11 +93,12 @@ namespace WebsitePanel.EnterpriseServer
} }
} }
private void SendMessage(UserInfo user,string email, string exchange_csv, string sharepoint_csv, string crm_csv, string organization_csv) private void SendMessage(UserInfo user,string email, string exchange_csv, string sharepoint_csv, string crm_csv, string organization_csv, string lync_csv)
{ {
List<Attachment> attacments = new List<Attachment>(); List<Attachment> attacments = new List<Attachment>();
PrepareAttament("exchange.csv", exchange_csv, attacments); PrepareAttament("exchange.csv", exchange_csv, attacments);
PrepareAttament("sharepoint.csv", sharepoint_csv, attacments); PrepareAttament("sharepoint.csv", sharepoint_csv, attacments);
PrepareAttament("lync.csv", lync_csv, attacments);
PrepareAttament("crm.csv", crm_csv, attacments); PrepareAttament("crm.csv", crm_csv, attacments);
PrepareAttament("organization.csv", organization_csv, attacments); PrepareAttament("organization.csv", organization_csv, attacments);

View file

@ -9,7 +9,7 @@
<add name="EnterpriseServer" connectionString="server=HSTPROV01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=aj7ep6fyhmw3b5qeth7c;" /> <add name="EnterpriseServer" connectionString="server=HSTPROV01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=aj7ep6fyhmw3b5qeth7c;" />
<add name="EnterpriseServer" connectionString="server=HSTWSP01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=pserxfbnlc6hwmdedbp0;" providerName="System.Data.SqlClient" /> <add name="EnterpriseServer" connectionString="server=HSTWSP01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=pserxfbnlc6hwmdedbp0;" providerName="System.Data.SqlClient" />
--> -->
<add name="EnterpriseServer" connectionString="server=HSTWSP01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=pserxfbnlc6hwmdedbp0;" providerName="System.Data.SqlClient" /> <add name="EnterpriseServer" connectionString="server=HSTPROV01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=aj7ep6fyhmw3b5qeth7c;" />
</connectionStrings> </connectionStrings>
<appSettings> <appSettings>
<!-- A1D4KDHUE83NKHddF --> <!-- A1D4KDHUE83NKHddF -->
@ -17,7 +17,7 @@
<add key="WebsitePanel.CryptoKey" value="3x7eqt7zabc5n5afs6dg" /> <add key="WebsitePanel.CryptoKey" value="3x7eqt7zabc5n5afs6dg" />
<add key="WebsitePanel.CryptoKey" value="fr2ym4wn2gmbrj7dz336" /> <add key="WebsitePanel.CryptoKey" value="fr2ym4wn2gmbrj7dz336" />
--> -->
<add key="WebsitePanel.CryptoKey" value="fr2ym4wn2gmbrj7dz336" /> <add key="WebsitePanel.CryptoKey" value="3x7eqt7zabc5n5afs6dg" />
<!-- A1D4KDHUE83NKHddF --> <!-- A1D4KDHUE83NKHddF -->
<add key="WebsitePanel.EncryptionEnabled" value="true" /> <add key="WebsitePanel.EncryptionEnabled" value="true" />
<!-- Web Applications --> <!-- Web Applications -->

View file

@ -59,7 +59,7 @@ namespace WebsitePanel.EnterpriseServer
[WebMethod] [WebMethod]
public LyncUsersPagedResult GetLyncUsersPaged(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows) public LyncUsersPagedResult GetLyncUsersPaged(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows)
{ {
return LyncController.GetLyncUsers(itemId, sortColumn, sortDirection, startRow, maximumRows); return LyncController.GetLyncUsersPaged(itemId, sortColumn, sortDirection, startRow, maximumRows);
} }
[WebMethod] [WebMethod]

View file

@ -34,6 +34,6 @@
public SharePointStatisticsReport SharePointReport { get; set; } public SharePointStatisticsReport SharePointReport { get; set; }
public CRMStatisticsReport CRMReport { get; set; } public CRMStatisticsReport CRMReport { get; set; }
public OrganizationStatisticsReport OrganizationReport { get; set; } public OrganizationStatisticsReport OrganizationReport { get; set; }
public LyncStatisticsReport LyncReport { get; set; }
} }
} }

View file

@ -50,5 +50,6 @@ namespace WebsitePanel.Providers.HostedSolution
public bool Enabled { get; set; } public bool Enabled { get; set; }
public ExchangeAccountType MailboxType { get; set; } public ExchangeAccountType MailboxType { get; set; }
public bool BlackberryEnabled { get; set; } public bool BlackberryEnabled { get; set; }
public string MailboxPlan { get; set; }
} }
} }

View file

@ -67,6 +67,7 @@ namespace WebsitePanel.Providers.HostedSolution
sb.AppendFormat("{0},", ToCsvString(item.Enabled, "Enabled", "Disabled")); sb.AppendFormat("{0},", ToCsvString(item.Enabled, "Enabled", "Disabled"));
sb.AppendFormat("{0},", ToCsvString(item.MailboxType)); sb.AppendFormat("{0},", ToCsvString(item.MailboxType));
sb.AppendFormat("{0}", ToCsvString(item.BlackberryEnabled)); sb.AppendFormat("{0}", ToCsvString(item.BlackberryEnabled));
sb.AppendFormat("{0}", ToCsvString(item.MailboxPlan));
mainBuilder.Append(sb.ToString()); mainBuilder.Append(sb.ToString());
} }
return mainBuilder.ToString(); return mainBuilder.ToString();
@ -74,7 +75,7 @@ namespace WebsitePanel.Providers.HostedSolution
private void AddCSVHeader(StringBuilder sb) private void AddCSVHeader(StringBuilder sb)
{ {
sb.Append("Top Reseller,Reseller,Customer,Customer Created,Hosting Space,Hosting Space Created,Ogranization Name,Ogranization Created,Organization ID,Mailbox Display Name,Account Created,Primary E-mail Address,MAPI,OWA,ActiveSync,POP 3,IMAP,Mailbox Size (Mb),Max Mailbox Size (Mb),Last Logon,Enabled,Mailbox Type, BlackBerry"); sb.Append("Top Reseller,Reseller,Customer,Customer Created,Hosting Space,Hosting Space Created,Ogranization Name,Organization Created,Organization ID,Mailbox Display Name,Account Created,Primary E-mail Address,MAPI,OWA,ActiveSync,POP 3,IMAP,Mailbox Size (Mb),Max Mailbox Size (Mb),Last Logon,Enabled,Mailbox Type, BlackBerry, Mailbox Plan");
} }
} }
} }

View file

@ -57,6 +57,8 @@ namespace WebsitePanel.Providers.HostedSolution
sb.AppendFormat("{0},", ToCsvString(item.TotalSharePointSiteCollections)); sb.AppendFormat("{0},", ToCsvString(item.TotalSharePointSiteCollections));
sb.AppendFormat("{0},", ToCsvString(item.TotalSharePointSiteCollectionsSize / 1024.0 / 1024.0)); sb.AppendFormat("{0},", ToCsvString(item.TotalSharePointSiteCollectionsSize / 1024.0 / 1024.0));
sb.AppendFormat("{0}", ToCsvString(item.TotalCRMUsers)); sb.AppendFormat("{0}", ToCsvString(item.TotalCRMUsers));
sb.AppendFormat("{0}", ToCsvString(item.TotalLyncUsers));
sb.AppendFormat("{0}", ToCsvString(item.TotalLyncEVUsers));
mainBuilder.Append(sb.ToString()); mainBuilder.Append(sb.ToString());
} }
@ -65,7 +67,7 @@ namespace WebsitePanel.Providers.HostedSolution
private static void AddCSVHeader(StringBuilder sb) private static void AddCSVHeader(StringBuilder sb)
{ {
sb.Append("Top Reseller,Reseller,Customer,Customer Created,Hosting Space,Hosting Space Created,Ogranization Name,Ogranization Created,Organization ID,Total mailboxes,Total mailboxes size(Mb),Total Public Folders size(Mb),Total SharePoint site collections,Total SharePoint site collections size(Mb),Total CRM users"); sb.Append("Top Reseller,Reseller,Customer,Customer Created,Hosting Space,Hosting Space Created,Ogranization Name,Ogranization Created,Organization ID,Total mailboxes,Total mailboxes size(Mb),Total Public Folders size(Mb),Total SharePoint site collections,Total SharePoint site collections size(Mb),Total CRM users,Total Lync users,Total Lync EV users");
} }
} }
} }

View file

@ -66,5 +66,18 @@
set; set;
} }
public int TotalLyncUsers
{
get;
set;
}
public int TotalLyncEVUsers
{
get;
set;
}
} }
} }

View file

@ -88,6 +88,9 @@
<Compile Include="HostedSolution\LyncConstants.cs" /> <Compile Include="HostedSolution\LyncConstants.cs" />
<Compile Include="HostedSolution\LyncErrorCodes.cs" /> <Compile Include="HostedSolution\LyncErrorCodes.cs" />
<Compile Include="HostedSolution\LyncFederationDomain.cs" /> <Compile Include="HostedSolution\LyncFederationDomain.cs" />
<Compile Include="HostedSolution\LyncOrganizationStatistics.cs" />
<Compile Include="HostedSolution\LyncUserStatistics.cs" />
<Compile Include="HostedSolution\LyncStatisticsReport.cs" />
<Compile Include="HostedSolution\LyncUser.cs" /> <Compile Include="HostedSolution\LyncUser.cs" />
<Compile Include="HostedSolution\LyncUserPlan.cs" /> <Compile Include="HostedSolution\LyncUserPlan.cs" />
<Compile Include="HostedSolution\LyncUserPlanType.cs" /> <Compile Include="HostedSolution\LyncUserPlanType.cs" />

View file

@ -147,7 +147,15 @@
</tr> </tr>
</table> </table>
<table>
<tr>
<td class="FormLabel150">
<asp:CheckBox ID="chkSendInstructions" runat="server" meta:resourcekey="chkSendInstructions" Text="Send Setup Instructions" Checked="true" />
</td>
<td><wsp:EmailControl id="sendInstructionEmail" runat="server" RequiredEnabled="true" ValidationGroup="CreateMailbox"></wsp:EmailControl></td>
</tr>
</table>
<div class="FormFooterClean"> <div class="FormFooterClean">
<asp:Button id="btnCreate" runat="server" Text="Create Mailbox" <asp:Button id="btnCreate" runat="server" Text="Create Mailbox"

View file

@ -65,13 +65,24 @@ namespace WebsitePanel.Portal.ExchangeServer
return; return;
} }
PackageInfo package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId); string instructions = ES.Services.ExchangeServer.GetMailboxSetupInstructions(PanelRequest.ItemID, PanelRequest.AccountID, false, false, false);
if (package != null) if (!string.IsNullOrEmpty(instructions))
{ {
//UserInfo user = ES.Services.Users.GetUserById(package.UserId); chkSendInstructions.Checked = chkSendInstructions.Visible = sendInstructionEmail.Visible = true;
//if (user != null) PackageInfo package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId);
//sendInstructionEmail.Text = user.Email; if (package != null)
{
UserInfo user = ES.Services.Users.GetUserById(package.UserId);
if (user != null)
sendInstructionEmail.Text = user.Email;
}
} }
else
{
chkSendInstructions.Checked = chkSendInstructions.Visible = sendInstructionEmail.Visible = false;
}
WebsitePanel.Providers.HostedSolution.ExchangeMailboxPlan[] plans = ES.Services.ExchangeServer.GetExchangeMailboxPlans(PanelRequest.ItemID); WebsitePanel.Providers.HostedSolution.ExchangeMailboxPlan[] plans = ES.Services.ExchangeServer.GetExchangeMailboxPlans(PanelRequest.ItemID);
@ -124,8 +135,8 @@ namespace WebsitePanel.Portal.ExchangeServer
name, name,
domain, domain,
password.Password, password.Password,
false, chkSendInstructions.Checked,
"", sendInstructionEmail.Text,
Convert.ToInt32(mailboxPlanSelector.MailboxPlanId), Convert.ToInt32(mailboxPlanSelector.MailboxPlanId),
subscriberNumber); subscriberNumber);

View file

@ -327,6 +327,24 @@ namespace WebsitePanel.Portal.ExchangeServer {
/// </remarks> /// </remarks>
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.MailboxPlanSelector mailboxPlanSelector; protected global::WebsitePanel.Portal.ExchangeServer.UserControls.MailboxPlanSelector mailboxPlanSelector;
/// <summary>
/// chkSendInstructions control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkSendInstructions;
/// <summary>
/// sendInstructionEmail control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.EmailControl sendInstructionEmail;
/// <summary> /// <summary>
/// btnCreate control. /// btnCreate control.
/// </summary> /// </summary>

View file

@ -91,6 +91,15 @@
</tr> </tr>
</table> </table>
<table>
<tr>
<td class="FormLabel150">
<asp:CheckBox ID="chkSendInstructions" runat="server" meta:resourcekey="chkSendInstructions" Text="Send Setup Instructions" Checked="true" />
</td>
<td><wsp:EmailControl id="sendInstructionEmail" runat="server" RequiredEnabled="true" ValidationGroup="CreateMailbox"></wsp:EmailControl></td>
</tr>
</table>
<div class="FormFooterClean"> <div class="FormFooterClean">
<asp:Button id="btnCreate" runat="server" Text="Create Mailbox" <asp:Button id="btnCreate" runat="server" Text="Create Mailbox"

View file

@ -58,12 +58,21 @@ namespace WebsitePanel.Portal.HostedSolution
messageBox.ShowMessage(passwordPolicy, "CREATE_ORGANIZATION_USER", "HostedOrganization"); messageBox.ShowMessage(passwordPolicy, "CREATE_ORGANIZATION_USER", "HostedOrganization");
} }
PackageInfo package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId); string instructions = ES.Services.Organizations.GetOrganizationUserSummuryLetter(PanelRequest.ItemID, PanelRequest.AccountID, false, false, false);
if (package != null) if (!string.IsNullOrEmpty(instructions))
{ {
//UserInfo user = ES.Services.Users.GetUserById(package.UserId); chkSendInstructions.Checked = chkSendInstructions.Visible = sendInstructionEmail.Visible = true;
//if (user != null) PackageInfo package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId);
//sendInstructionEmail.Text = user.Email; if (package != null)
{
UserInfo user = ES.Services.Users.GetUserById(package.UserId);
if (user != null)
sendInstructionEmail.Text = user.Email;
}
}
else
{
chkSendInstructions.Checked = chkSendInstructions.Visible = sendInstructionEmail.Visible = false;
} }
} }
@ -96,8 +105,8 @@ namespace WebsitePanel.Portal.HostedSolution
email.DomainName.ToLower(), email.DomainName.ToLower(),
password.Password, password.Password,
txtSubscriberNumber.Text.Trim(), txtSubscriberNumber.Text.Trim(),
false, chkSendInstructions.Checked,
""); sendInstructionEmail.Text);
if (accountId < 0) if (accountId < 0)
{ {

View file

@ -219,6 +219,24 @@ namespace WebsitePanel.Portal.HostedSolution {
/// </remarks> /// </remarks>
protected global::WebsitePanel.Portal.PasswordControl password; protected global::WebsitePanel.Portal.PasswordControl password;
/// <summary>
/// chkSendInstructions control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkSendInstructions;
/// <summary>
/// sendInstructionEmail control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.EmailControl sendInstructionEmail;
/// <summary> /// <summary>
/// btnCreate control. /// btnCreate control.
/// </summary> /// </summary>

View file

@ -112,10 +112,10 @@
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="cbCRM.Text" xml:space="preserve"> <data name="cbCRM.Text" xml:space="preserve">
<value>CRM Report</value> <value>CRM Report</value>
@ -123,6 +123,9 @@
<data name="cbExchange.Text" xml:space="preserve"> <data name="cbExchange.Text" xml:space="preserve">
<value>Exchange Report</value> <value>Exchange Report</value>
</data> </data>
<data name="cbLync.Text" xml:space="preserve">
<value>Lync Report</value>
</data>
<data name="cbOrganization.Text" xml:space="preserve"> <data name="cbOrganization.Text" xml:space="preserve">
<value>Organization Report</value> <value>Organization Report</value>
</data> </data>

View file

@ -19,6 +19,11 @@
<asp:CheckBox runat="server" ID="cbSharePoint" meta:resourcekey="cbSharePoint" /> <asp:CheckBox runat="server" ID="cbSharePoint" meta:resourcekey="cbSharePoint" />
</td> </td>
</tr> </tr>
<tr>
<td colspan="2">
<asp:CheckBox runat="server" ID="cbLync" meta:resourcekey="cbLync" />
</td>
</tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<asp:CheckBox runat="server" ID="cbCRM" meta:resourcekey="cbCRM" /> <asp:CheckBox runat="server" ID="cbCRM" meta:resourcekey="cbCRM" />

View file

@ -37,6 +37,7 @@ namespace WebsitePanel.Portal.ScheduleTaskControls
private static readonly string EXCHANGE_REPORT = "EXCHANGE_REPORT"; private static readonly string EXCHANGE_REPORT = "EXCHANGE_REPORT";
private static readonly string ORGANIZATION_REPORT = "ORGANIZATION_REPORT"; private static readonly string ORGANIZATION_REPORT = "ORGANIZATION_REPORT";
private static readonly string SHAREPOINT_REPORT = "SHAREPOINT_REPORT"; private static readonly string SHAREPOINT_REPORT = "SHAREPOINT_REPORT";
private static readonly string LYNC_REPORT = "LYNC_REPORT";
private static readonly string CRM_REPORT = "CRM_REPORT"; private static readonly string CRM_REPORT = "CRM_REPORT";
private static readonly string EMAIL = "EMAIL"; private static readonly string EMAIL = "EMAIL";
@ -51,6 +52,7 @@ namespace WebsitePanel.Portal.ScheduleTaskControls
base.SetParameters(parameters); base.SetParameters(parameters);
SetParameter(cbExchange, EXCHANGE_REPORT); SetParameter(cbExchange, EXCHANGE_REPORT);
SetParameter(cbSharePoint, SHAREPOINT_REPORT); SetParameter(cbSharePoint, SHAREPOINT_REPORT);
SetParameter(cbLync, LYNC_REPORT);
SetParameter(cbCRM, CRM_REPORT); SetParameter(cbCRM, CRM_REPORT);
SetParameter(cbOrganization, ORGANIZATION_REPORT); SetParameter(cbOrganization, ORGANIZATION_REPORT);
SetParameter(txtMail, EMAIL); SetParameter(txtMail, EMAIL);
@ -61,12 +63,13 @@ namespace WebsitePanel.Portal.ScheduleTaskControls
{ {
ScheduleTaskParameterInfo exchange = GetParameter(cbExchange, EXCHANGE_REPORT); ScheduleTaskParameterInfo exchange = GetParameter(cbExchange, EXCHANGE_REPORT);
ScheduleTaskParameterInfo sharepoint = GetParameter(cbSharePoint, SHAREPOINT_REPORT); ScheduleTaskParameterInfo sharepoint = GetParameter(cbSharePoint, SHAREPOINT_REPORT);
ScheduleTaskParameterInfo lync = GetParameter(cbLync, LYNC_REPORT);
ScheduleTaskParameterInfo crm = GetParameter(cbCRM, CRM_REPORT); ScheduleTaskParameterInfo crm = GetParameter(cbCRM, CRM_REPORT);
ScheduleTaskParameterInfo organization = GetParameter(cbOrganization, ORGANIZATION_REPORT); ScheduleTaskParameterInfo organization = GetParameter(cbOrganization, ORGANIZATION_REPORT);
ScheduleTaskParameterInfo email = GetParameter(txtMail, EMAIL); ScheduleTaskParameterInfo email = GetParameter(txtMail, EMAIL);
return new ScheduleTaskParameterInfo[5] { exchange, sharepoint, crm , organization, email}; return new ScheduleTaskParameterInfo[6] { exchange, sharepoint, lync, crm , organization, email};
} }
} }
} }

View file

@ -1,10 +1,9 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:2.0.50727.1433
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
@ -49,6 +48,15 @@ namespace WebsitePanel.Portal.ScheduleTaskControls {
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.CheckBox cbSharePoint; protected global::System.Web.UI.WebControls.CheckBox cbSharePoint;
/// <summary>
/// cbLync control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox cbLync;
/// <summary> /// <summary>
/// cbCRM control. /// cbCRM control.
/// </summary> /// </summary>