Add CRM2013 support and update CRM2011 provider
This commit is contained in:
parent
c4c09fa739
commit
20f64c90b5
68 changed files with 191845 additions and 2304 deletions
|
@ -2797,4 +2797,300 @@ WHERE
|
|||
AND (@OrgID = 0 OR @OrgID <> 0 AND PA.OrgID = @OrgID)
|
||||
|
||||
END
|
||||
GO
|
||||
|
||||
-- Enterprise Storage Quotas
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'EnterpriseStorage.DiskStorageSpace')
|
||||
BEGIN
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID],[QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (430, 44, 1,N'EnterpriseStorage.DiskStorageSpace',N'Disk Storage Space (Gb)',2, 0 , NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
UPDATE [dbo].[Quotas] SET [QuotaDescription] = N'Disk Storage Space (Gb)' WHERE [QuotaName] = 'EnterpriseStorage.DiskStorageSpace'
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'EnterpriseFolders')
|
||||
|
||||
CREATE TABLE [dbo].[EnterpriseFolders](
|
||||
[EnterpriseFolderID] [int] IDENTITY(1,1) NOT NULL,
|
||||
[ItemID] [int] NOT NULL,
|
||||
[FolderName] [nvarchar](255) NOT NULL,
|
||||
[FolderQuota] [int] NOT NULL DEFAULT 0,
|
||||
CONSTRAINT [PK_EnterpriseFolders] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[EnterpriseFolderId] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
|
||||
)
|
||||
|
||||
GO
|
||||
|
||||
ALTER FUNCTION [dbo].[CalculateQuotaUsage]
|
||||
(
|
||||
@PackageID int,
|
||||
@QuotaID int
|
||||
)
|
||||
RETURNS int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @QuotaTypeID int
|
||||
SELECT @QuotaTypeID = QuotaTypeID FROM Quotas
|
||||
WHERE QuotaID = @QuotaID
|
||||
|
||||
IF @QuotaTypeID <> 2
|
||||
RETURN 0
|
||||
|
||||
DECLARE @Result int
|
||||
|
||||
IF @QuotaID = 52 -- diskspace
|
||||
SET @Result = dbo.CalculatePackageDiskspace(@PackageID)
|
||||
ELSE IF @QuotaID = 51 -- bandwidth
|
||||
SET @Result = dbo.CalculatePackageBandwidth(@PackageID)
|
||||
ELSE IF @QuotaID = 53 -- domains
|
||||
SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT
|
||||
INNER JOIN Domains AS D ON D.PackageID = PT.PackageID
|
||||
WHERE IsSubDomain = 0 AND IsInstantAlias = 0 AND IsDomainPointer = 0 AND PT.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 54 -- sub-domains
|
||||
SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT
|
||||
INNER JOIN Domains AS D ON D.PackageID = PT.PackageID
|
||||
WHERE IsSubDomain = 1 AND IsInstantAlias = 0 AND IsDomainPointer = 0 AND PT.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 220 -- domain pointers
|
||||
SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT
|
||||
INNER JOIN Domains AS D ON D.PackageID = PT.PackageID
|
||||
WHERE IsDomainPointer = 1 AND PT.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 71 -- scheduled tasks
|
||||
SET @Result = (SELECT COUNT(S.ScheduleID) FROM PackagesTreeCache AS PT
|
||||
INNER JOIN Schedule AS S ON S.PackageID = PT.PackageID
|
||||
WHERE PT.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 305 -- RAM of VPS
|
||||
SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
|
||||
INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
|
||||
INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
|
||||
WHERE SIP.PropertyName = 'RamSize' AND PT.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 306 -- HDD of VPS
|
||||
SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
|
||||
INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
|
||||
INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
|
||||
WHERE SIP.PropertyName = 'HddSize' AND PT.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 309 -- External IP addresses of VPS
|
||||
SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
|
||||
INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
|
||||
INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
|
||||
WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 3)
|
||||
ELSE IF @QuotaID = 100 -- Dedicated Web IP addresses
|
||||
SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
|
||||
INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
|
||||
INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
|
||||
WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 2)
|
||||
ELSE IF @QuotaID = 350 -- RAM of VPSforPc
|
||||
SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
|
||||
INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
|
||||
INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
|
||||
WHERE SIP.PropertyName = 'Memory' AND PT.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 351 -- HDD of VPSforPc
|
||||
SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
|
||||
INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
|
||||
INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
|
||||
WHERE SIP.PropertyName = 'HddSize' AND PT.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 354 -- External IP addresses of VPSforPc
|
||||
SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
|
||||
INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
|
||||
INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
|
||||
WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 3)
|
||||
ELSE IF @QuotaID = 319 -- BB Users
|
||||
SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts ea
|
||||
INNER JOIN BlackBerryUsers bu ON ea.AccountID = bu.AccountID
|
||||
INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
|
||||
INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
|
||||
WHERE pt.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 320 -- OCS Users
|
||||
SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts ea
|
||||
INNER JOIN OCSUsers ocs ON ea.AccountID = ocs.AccountID
|
||||
INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
|
||||
INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
|
||||
WHERE pt.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 206 -- HostedSolution.Users
|
||||
SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
|
||||
INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
|
||||
INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
|
||||
WHERE pt.ParentPackageID = @PackageID AND ea.AccountType IN (1,5,6,7))
|
||||
ELSE IF @QuotaID = 78 -- Exchange2007.Mailboxes
|
||||
SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
|
||||
INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
|
||||
INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
|
||||
WHERE pt.ParentPackageID = @PackageID
|
||||
AND ea.AccountType IN (1)
|
||||
AND ea.MailboxPlanId IS NOT NULL)
|
||||
ELSE IF @QuotaID = 77 -- Exchange2007.DiskSpace
|
||||
SET @Result = (SELECT SUM(B.MailboxSizeMB) FROM ExchangeAccounts AS ea
|
||||
INNER JOIN ExchangeMailboxPlans AS B ON ea.MailboxPlanId = B.MailboxPlanId
|
||||
INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
|
||||
INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
|
||||
WHERE pt.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 370 -- Lync.Users
|
||||
SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
|
||||
INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID
|
||||
INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
|
||||
INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
|
||||
WHERE pt.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 376 -- Lync.EVUsers
|
||||
SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
|
||||
INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID
|
||||
INNER JOIN LyncUserPlans lp ON lu.LyncUserPlanId = lp.LyncUserPlanId
|
||||
INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
|
||||
INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
|
||||
WHERE pt.ParentPackageID = @PackageID AND lp.EnterpriseVoice = 1)
|
||||
ELSE IF @QuotaID = 381 -- Dedicated Lync Phone Numbers
|
||||
SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
|
||||
INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
|
||||
INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
|
||||
WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 5)
|
||||
ELSE IF @QuotaID = 430 -- Enterprise Storage
|
||||
SET @Result = (SELECT SUM(ESF.FolderQuota) FROM EnterpriseFolders AS ESF
|
||||
INNER JOIN ServiceItems SI ON ESF.ItemID = SI.ItemID
|
||||
INNER JOIN PackagesTreeCache PT ON SI.PackageID = PT.PackageID
|
||||
WHERE PT.ParentPackageID = @PackageID)
|
||||
ELSE IF @QuotaID = 431 -- Enterprise Storage Folders
|
||||
SET @Result = (SELECT COUNT(ESF.EnterpriseFolderID) FROM EnterpriseFolders AS ESF
|
||||
INNER JOIN ServiceItems SI ON ESF.ItemID = SI.ItemID
|
||||
INNER JOIN PackagesTreeCache PT ON SI.PackageID = PT.PackageID
|
||||
WHERE PT.ParentPackageID = @PackageID)
|
||||
ELSE
|
||||
SET @Result = (SELECT COUNT(SI.ItemID) FROM Quotas AS Q
|
||||
INNER JOIN ServiceItems AS SI ON SI.ItemTypeID = Q.ItemTypeID
|
||||
INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID AND PT.ParentPackageID = @PackageID
|
||||
WHERE Q.QuotaID = @QuotaID)
|
||||
|
||||
RETURN @Result
|
||||
END
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddEnterpriseFolder')
|
||||
DROP PROCEDURE [dbo].[AddEnterpriseFolder]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[AddEnterpriseFolder]
|
||||
(
|
||||
@FolderID INT OUTPUT,
|
||||
@ItemID INT,
|
||||
@FolderName NVARCHAR(255)
|
||||
)
|
||||
AS
|
||||
|
||||
INSERT INTO EnterpriseFolders
|
||||
(
|
||||
ItemID,
|
||||
FolderName
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@ItemID,
|
||||
@FolderName
|
||||
)
|
||||
|
||||
SET @FolderID = SCOPE_IDENTITY()
|
||||
|
||||
RETURN
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteEnterpriseFolder')
|
||||
DROP PROCEDURE DeleteEnterpriseFolder
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[DeleteEnterpriseFolder]
|
||||
(
|
||||
@ItemID INT,
|
||||
@FolderName NVARCHAR(255)
|
||||
)
|
||||
AS
|
||||
|
||||
DELETE FROM EnterpriseFolders
|
||||
WHERE ItemID = @ItemID AND FolderName = @FolderName
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateEnterpriseFolder')
|
||||
DROP PROCEDURE UpdateEnterpriseFolder
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[UpdateEnterpriseFolder]
|
||||
(
|
||||
@ItemID INT,
|
||||
@FolderID NVARCHAR(255),
|
||||
@FolderName NVARCHAR(255),
|
||||
@FolderQuota INT
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE EnterpriseFolders SET
|
||||
FolderName = @FolderName,
|
||||
FolderQuota = @FolderQuota
|
||||
WHERE ItemID = @ItemID AND FolderName = @FolderID
|
||||
GO
|
||||
|
||||
-- Enterprise Storage Quotas
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'EnterpriseStorage.DiskStorageSpace')
|
||||
BEGIN
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID],[QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (430, 44, 1,N'EnterpriseStorage.DiskStorageSpace',N'Disk Storage Space (Mb)',2, 0 , NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
UPDATE [dbo].[Quotas] SET [QuotaDescription] = N'Disk Storage Space (Mb)' WHERE [QuotaName] = 'EnterpriseStorage.DiskStorageSpace'
|
||||
GO
|
||||
|
||||
|
||||
-- CRM2013
|
||||
|
||||
-- CRM2013 ResourceGroup
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupName] = 'Hosted CRM2013')
|
||||
BEGIN
|
||||
INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController], [ShowGroup]) VALUES (24, N'Hosted CRM2013', 15, NULL, 1)
|
||||
END
|
||||
GO
|
||||
|
||||
-- CRM2013 Provider
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Hosted MS CRM 2013')
|
||||
BEGIN
|
||||
INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery])
|
||||
VALUES(1202, 24, N'CRM', N'Hosted MS CRM 2013', N'WebsitePanel.Providers.HostedSolution.CRMProvider2013, WebsitePanel.Providers.HostedSolution.Crm2013', N'CRM2011', NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
-- CRM2013 Quotas
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedCRM2013.Organization')
|
||||
BEGIN
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota])
|
||||
VALUES (463, 24, 1, N'HostedCRM2013.Organization', N'CRM Organization', 1, 0, NULL, NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedCRM2013.MaxDatabaseSize')
|
||||
BEGIN
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID],[QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID])
|
||||
VALUES (464, 24, 5, N'HostedCRM2013.MaxDatabaseSize', N'Max Database Size, MB',3, 0 , NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedCRM2013.EssentialUsers')
|
||||
BEGIN
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota])
|
||||
VALUES (465, 24, 2, N'HostedCRM2013.EssentialUsers', N'Essential licenses per organization', 3, 0, NULL, NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedCRM2013.BasicUsers')
|
||||
BEGIN
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID],[QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID])
|
||||
VALUES (466, 24, 3, N'HostedCRM2013.BasicUsers', N'Basic licenses per organization',3, 0 , NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedCRM2013.ProfessionalUsers')
|
||||
BEGIN
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID],[QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID])
|
||||
VALUES (467, 24, 4, N'HostedCRM2013.ProfessionalUsers', N'Professional licenses per organization',3, 0 , NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,50 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.EnterpriseServer
|
||||
{
|
||||
public class CRMUserLycenseTypes
|
||||
{
|
||||
// CRM 2011
|
||||
public const int FULL = 0;
|
||||
public const int LIMITED = 2;
|
||||
public const int ESS = 22;
|
||||
|
||||
// CRM 2013
|
||||
public const int PROFESSIONAL = 0;
|
||||
public const int BASIC = 2;
|
||||
public const int ESSENTIAL = 5;
|
||||
|
||||
}
|
||||
}
|
|
@ -163,6 +163,14 @@ order by rg.groupOrder
|
|||
public const string CRM_ESSUSERS = "HostedCRM.ESSUsers";
|
||||
public const string CRM_MAXDATABASESIZE = "HostedCRM.MaxDatabaseSize";
|
||||
|
||||
public const string CRM2013_ORGANIZATION = "HostedCRM2013.Organization";
|
||||
public const string CRM2013_MAXDATABASESIZE = "HostedCRM2013.MaxDatabaseSize";
|
||||
|
||||
public const string CRM2013_ESSENTIALUSERS = "HostedCRM2013.EssentialUsers";
|
||||
public const string CRM2013_BASICUSERS = "HostedCRM2013.BasicUsers";
|
||||
public const string CRM2013_PROFESSIONALUSERS = "HostedCRM2013.ProfessionalUsers";
|
||||
|
||||
|
||||
public const string VPS_SERVERS_NUMBER = "VPS.ServersNumber"; // Number of VPS
|
||||
public const string VPS_MANAGING_ALLOWED = "VPS.ManagingAllowed"; // Allow user to create VPS
|
||||
public const string VPS_CPU_NUMBER = "VPS.CpuNumber"; // Number of CPU cores
|
||||
|
|
|
@ -47,6 +47,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
public const string Exchange = "Exchange";
|
||||
public const string HostedOrganizations = "Hosted Organizations";
|
||||
public const string HostedCRM = "Hosted CRM";
|
||||
public const string HostedCRM2013 = "Hosted CRM2013";
|
||||
public const string VPS = "VPS";
|
||||
public const string BlackBerry = "BlackBerry";
|
||||
public const string OCS = "OCS";
|
||||
|
|
|
@ -117,6 +117,7 @@
|
|||
<Compile Include="Ecommerce\TriggerSystem\ITriggerHandler.cs" />
|
||||
<Compile Include="ExchangeServer\ExchangeEmailAddress.cs" />
|
||||
<Compile Include="HostedSolution\AdditionalGroup.cs" />
|
||||
<Compile Include="HostedSolution\CRMLycenseTypes.cs" />
|
||||
<Compile Include="HostedSolution\ESPermission.cs" />
|
||||
<Compile Include="Log\LogRecord.cs" />
|
||||
<Compile Include="Packages\HostingPlanContext.cs" />
|
||||
|
|
|
@ -26,23 +26,11 @@
|
|||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.5466
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
|
||||
//
|
||||
using WebsitePanel.Providers;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
|
||||
//
|
||||
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
|
||||
//
|
||||
|
@ -67,8 +55,12 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
|
||||
private System.Threading.SendOrPostCallback GetCollationOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetCollationByServiceIdOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetCurrencyOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetCurrencyByServiceIdOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback DeleteCRMOrganizationOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetCRMUsersPagedOperationCompleted;
|
||||
|
@ -95,6 +87,10 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
|
||||
private System.Threading.SendOrPostCallback GetMaxDBSizeOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetInstalledLanguagePacksOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetInstalledLanguagePacksByServiceIdOperationCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public esCRM() {
|
||||
this.Url = "http://localhost:9002/esCRM.asmx";
|
||||
|
@ -106,9 +102,15 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
/// <remarks/>
|
||||
public event GetCollationCompletedEventHandler GetCollationCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetCollationByServiceIdCompletedEventHandler GetCollationByServiceIdCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetCurrencyCompletedEventHandler GetCurrencyCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetCurrencyByServiceIdCompletedEventHandler GetCurrencyByServiceIdCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event DeleteCRMOrganizationCompletedEventHandler DeleteCRMOrganizationCompleted;
|
||||
|
||||
|
@ -148,9 +150,15 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
/// <remarks/>
|
||||
public event GetMaxDBSizeCompletedEventHandler GetMaxDBSizeCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetInstalledLanguagePacksCompletedEventHandler GetInstalledLanguagePacksCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetInstalledLanguagePacksByServiceIdCompletedEventHandler GetInstalledLanguagePacksByServiceIdCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CreateOrganization", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public OrganizationResult CreateOrganization(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation) {
|
||||
public OrganizationResult CreateOrganization(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation, int baseLanguageCode) {
|
||||
object[] results = this.Invoke("CreateOrganization", new object[] {
|
||||
organizationId,
|
||||
baseCurrencyCode,
|
||||
|
@ -158,12 +166,13 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
baseCurrencySymbol,
|
||||
regionName,
|
||||
userId,
|
||||
collation});
|
||||
collation,
|
||||
baseLanguageCode});
|
||||
return ((OrganizationResult)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginCreateOrganization(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation, System.AsyncCallback callback, object asyncState) {
|
||||
public System.IAsyncResult BeginCreateOrganization(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation, int baseLanguageCode, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("CreateOrganization", new object[] {
|
||||
organizationId,
|
||||
baseCurrencyCode,
|
||||
|
@ -171,7 +180,8 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
baseCurrencySymbol,
|
||||
regionName,
|
||||
userId,
|
||||
collation}, callback, asyncState);
|
||||
collation,
|
||||
baseLanguageCode}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -181,12 +191,12 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CreateOrganizationAsync(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation) {
|
||||
this.CreateOrganizationAsync(organizationId, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, regionName, userId, collation, null);
|
||||
public void CreateOrganizationAsync(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation, int baseLanguageCode) {
|
||||
this.CreateOrganizationAsync(organizationId, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, regionName, userId, collation, baseLanguageCode, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CreateOrganizationAsync(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation, object userState) {
|
||||
public void CreateOrganizationAsync(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation, int baseLanguageCode, object userState) {
|
||||
if ((this.CreateOrganizationOperationCompleted == null)) {
|
||||
this.CreateOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationOperationCompleted);
|
||||
}
|
||||
|
@ -197,7 +207,8 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
baseCurrencySymbol,
|
||||
regionName,
|
||||
userId,
|
||||
collation}, this.CreateOrganizationOperationCompleted, userState);
|
||||
collation,
|
||||
baseLanguageCode}, this.CreateOrganizationOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnCreateOrganizationOperationCompleted(object arg) {
|
||||
|
@ -248,6 +259,47 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetCollationByServiceId", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public StringArrayResultObject GetCollationByServiceId(int serviceId) {
|
||||
object[] results = this.Invoke("GetCollationByServiceId", new object[] {
|
||||
serviceId});
|
||||
return ((StringArrayResultObject)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetCollationByServiceId(int serviceId, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GetCollationByServiceId", new object[] {
|
||||
serviceId}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public StringArrayResultObject EndGetCollationByServiceId(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((StringArrayResultObject)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetCollationByServiceIdAsync(int serviceId) {
|
||||
this.GetCollationByServiceIdAsync(serviceId, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetCollationByServiceIdAsync(int serviceId, object userState) {
|
||||
if ((this.GetCollationByServiceIdOperationCompleted == null)) {
|
||||
this.GetCollationByServiceIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetCollationByServiceIdOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("GetCollationByServiceId", new object[] {
|
||||
serviceId}, this.GetCollationByServiceIdOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnGetCollationByServiceIdOperationCompleted(object arg) {
|
||||
if ((this.GetCollationByServiceIdCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.GetCollationByServiceIdCompleted(this, new GetCollationByServiceIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetCurrency", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public CurrencyArrayResultObject GetCurrency(int packageId) {
|
||||
|
@ -289,6 +341,47 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetCurrencyByServiceId", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public CurrencyArrayResultObject GetCurrencyByServiceId(int serviceId) {
|
||||
object[] results = this.Invoke("GetCurrencyByServiceId", new object[] {
|
||||
serviceId});
|
||||
return ((CurrencyArrayResultObject)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetCurrencyByServiceId(int serviceId, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GetCurrencyByServiceId", new object[] {
|
||||
serviceId}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public CurrencyArrayResultObject EndGetCurrencyByServiceId(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((CurrencyArrayResultObject)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetCurrencyByServiceIdAsync(int serviceId) {
|
||||
this.GetCurrencyByServiceIdAsync(serviceId, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetCurrencyByServiceIdAsync(int serviceId, object userState) {
|
||||
if ((this.GetCurrencyByServiceIdOperationCompleted == null)) {
|
||||
this.GetCurrencyByServiceIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetCurrencyByServiceIdOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("GetCurrencyByServiceId", new object[] {
|
||||
serviceId}, this.GetCurrencyByServiceIdOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnGetCurrencyByServiceIdOperationCompleted(object arg) {
|
||||
if ((this.GetCurrencyByServiceIdCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.GetCurrencyByServiceIdCompleted(this, new GetCurrencyByServiceIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteCRMOrganization", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public ResultObject DeleteCRMOrganization(int organizationId) {
|
||||
|
@ -909,6 +1002,89 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetInstalledLanguagePacks", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public int[] GetInstalledLanguagePacks(int packageId) {
|
||||
object[] results = this.Invoke("GetInstalledLanguagePacks", new object[] {
|
||||
packageId});
|
||||
return ((int[])(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetInstalledLanguagePacks(int packageId, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GetInstalledLanguagePacks", new object[] {
|
||||
packageId}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int[] EndGetInstalledLanguagePacks(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((int[])(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetInstalledLanguagePacksAsync(int packageId) {
|
||||
this.GetInstalledLanguagePacksAsync(packageId, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetInstalledLanguagePacksAsync(int packageId, object userState) {
|
||||
if ((this.GetInstalledLanguagePacksOperationCompleted == null)) {
|
||||
this.GetInstalledLanguagePacksOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetInstalledLanguagePacksOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("GetInstalledLanguagePacks", new object[] {
|
||||
packageId}, this.GetInstalledLanguagePacksOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnGetInstalledLanguagePacksOperationCompleted(object arg) {
|
||||
if ((this.GetInstalledLanguagePacksCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.GetInstalledLanguagePacksCompleted(this, new GetInstalledLanguagePacksCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetInstalledLanguagePacksByServiceId" +
|
||||
"", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public int[] GetInstalledLanguagePacksByServiceId(int serviceId) {
|
||||
object[] results = this.Invoke("GetInstalledLanguagePacksByServiceId", new object[] {
|
||||
serviceId});
|
||||
return ((int[])(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetInstalledLanguagePacksByServiceId(int serviceId, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GetInstalledLanguagePacksByServiceId", new object[] {
|
||||
serviceId}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int[] EndGetInstalledLanguagePacksByServiceId(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((int[])(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetInstalledLanguagePacksByServiceIdAsync(int serviceId) {
|
||||
this.GetInstalledLanguagePacksByServiceIdAsync(serviceId, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetInstalledLanguagePacksByServiceIdAsync(int serviceId, object userState) {
|
||||
if ((this.GetInstalledLanguagePacksByServiceIdOperationCompleted == null)) {
|
||||
this.GetInstalledLanguagePacksByServiceIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetInstalledLanguagePacksByServiceIdOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("GetInstalledLanguagePacksByServiceId", new object[] {
|
||||
serviceId}, this.GetInstalledLanguagePacksByServiceIdOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnGetInstalledLanguagePacksByServiceIdOperationCompleted(object arg) {
|
||||
if ((this.GetInstalledLanguagePacksByServiceIdCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.GetInstalledLanguagePacksByServiceIdCompleted(this, new GetInstalledLanguagePacksByServiceIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState) {
|
||||
base.CancelAsync(userState);
|
||||
|
@ -967,6 +1143,32 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void GetCollationByServiceIdCompletedEventHandler(object sender, GetCollationByServiceIdCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetCollationByServiceIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal GetCollationByServiceIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public StringArrayResultObject Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((StringArrayResultObject)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void GetCurrencyCompletedEventHandler(object sender, GetCurrencyCompletedEventArgs e);
|
||||
|
@ -993,6 +1195,32 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void GetCurrencyByServiceIdCompletedEventHandler(object sender, GetCurrencyByServiceIdCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetCurrencyByServiceIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal GetCurrencyByServiceIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public CurrencyArrayResultObject Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((CurrencyArrayResultObject)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void DeleteCRMOrganizationCompletedEventHandler(object sender, DeleteCRMOrganizationCompletedEventArgs e);
|
||||
|
@ -1330,4 +1558,56 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void GetInstalledLanguagePacksCompletedEventHandler(object sender, GetInstalledLanguagePacksCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetInstalledLanguagePacksCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal GetInstalledLanguagePacksCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int[] Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((int[])(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void GetInstalledLanguagePacksByServiceIdCompletedEventHandler(object sender, GetInstalledLanguagePacksByServiceIdCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetInstalledLanguagePacksByServiceIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal GetInstalledLanguagePacksByServiceIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int[] Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((int[])(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,7 +50,18 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
private static int GetCRMServiceId(int packageId)
|
||||
{
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM2013);
|
||||
if (serviceId == 0)
|
||||
serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
return serviceId;
|
||||
}
|
||||
|
||||
private static int GetCRMServiceId(int packageId, ResultObject res)
|
||||
{
|
||||
int serviceId = GetCRMServiceId(packageId);
|
||||
if (serviceId == 0)
|
||||
CompleteTask(res, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null,
|
||||
"CRM is not selected in hosting plan.");
|
||||
return serviceId;
|
||||
}
|
||||
|
||||
|
@ -226,7 +237,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return value;
|
||||
}
|
||||
|
||||
public static OrganizationResult CreateOrganization(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation)
|
||||
public static OrganizationResult CreateOrganization(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation, int baseLanguageCode)
|
||||
{
|
||||
OrganizationResult res = StartTask<OrganizationResult>("CRM", "CREATE_ORGANIZATION");
|
||||
|
||||
|
@ -269,7 +280,12 @@ namespace WebsitePanel.EnterpriseServer
|
|||
string rootOU = GetProviderProperty(serviceid, "rootou");
|
||||
|
||||
PackageContext cntx = PackageController.GetPackageContext(org.PackageId);
|
||||
long maxDBSize = cntx.Quotas[Quotas.CRM_MAXDATABASESIZE].QuotaAllocatedValue;
|
||||
|
||||
string maxDBSizeQuotaName = "";
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013)) maxDBSizeQuotaName = Quotas.CRM2013_MAXDATABASESIZE;
|
||||
else if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM)) maxDBSizeQuotaName = Quotas.CRM_MAXDATABASESIZE;
|
||||
|
||||
long maxDBSize = cntx.Quotas[maxDBSizeQuotaName].QuotaAllocatedValue;
|
||||
if (maxDBSize != -1) maxDBSize = maxDBSize * 1024 * 1024;
|
||||
|
||||
org.CrmAdministratorId = user.AccountId;
|
||||
|
@ -277,10 +293,12 @@ namespace WebsitePanel.EnterpriseServer
|
|||
string.Join("|", new[] {baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, regionName});
|
||||
org.CrmCollation = collation;
|
||||
org.CrmOrgState = (int) CrmOrganizationState.Enabled;
|
||||
org.CrmLanguadgeCode = baseLanguageCode.ToString();
|
||||
org.CrmOrganizationId = orgId;
|
||||
|
||||
OrganizationResult serverRes =
|
||||
crm.CreateOrganization(orgId, org.OrganizationId, org.Name,
|
||||
baseLanguageCode,
|
||||
org.OrganizationId + "." + rootOU,
|
||||
baseCurrencyCode, baseCurrencyName,
|
||||
baseCurrencySymbol, user.SamAccountName, user.FirstName, user.LastName, user.PrimaryEmailAddress,
|
||||
|
@ -343,19 +361,35 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return res;
|
||||
}
|
||||
|
||||
public static StringArrayResultObject GetCollationNames(int packageId)
|
||||
public static StringArrayResultObject GetCollationByServiceId(int serviceId)
|
||||
{
|
||||
StringArrayResultObject ret = StartTask<StringArrayResultObject>("CRM", "GET_COLLATION_NAMES");
|
||||
ret.IsSuccess = true;
|
||||
try
|
||||
{
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
ret.Value = crm.GetSupportedCollationNames();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
CompleteTask(ret, CrmErrorCodes.CANNOT_GET_COLLATION_NAMES, ex);
|
||||
return ret;
|
||||
}
|
||||
CompleteTask();
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static StringArrayResultObject GetCollation(int packageId)
|
||||
{
|
||||
StringArrayResultObject ret = StartTask<StringArrayResultObject>("CRM", "GET_COLLATION_NAMES");
|
||||
ret.IsSuccess = true;
|
||||
|
||||
try
|
||||
{
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(packageId, ret);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(ret, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN);
|
||||
return ret;
|
||||
}
|
||||
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
@ -372,18 +406,35 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return ret;
|
||||
}
|
||||
|
||||
public static CurrencyArrayResultObject GetCurrencyByServiceId(int serviceId)
|
||||
{
|
||||
CurrencyArrayResultObject ret = StartTask<CurrencyArrayResultObject>("CRM", "GET_CURRENCY");
|
||||
ret.IsSuccess = true;
|
||||
try
|
||||
{
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
ret.Value = crm.GetCurrencyList();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
CompleteTask(ret, CrmErrorCodes.CANNOT_GET_CURRENCY_LIST, ex);
|
||||
return ret;
|
||||
}
|
||||
CompleteTask();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static CurrencyArrayResultObject GetCurrency(int packageId)
|
||||
{
|
||||
CurrencyArrayResultObject ret = StartTask<CurrencyArrayResultObject>("CRM", "GET_CURRENCY");
|
||||
ret.IsSuccess = true;
|
||||
try
|
||||
{
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(packageId, ret);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(ret, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null, "CRM is not selected in hosting plan.");
|
||||
return ret;
|
||||
}
|
||||
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
@ -550,9 +601,12 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
|
||||
PackageContext cntx = PackageController.GetPackageContext(packageId);
|
||||
return (cntx.Quotas[Quotas.CRM_ORGANIZATION] != null && !cntx.Quotas[Quotas.CRM_ORGANIZATION].QuotaExhausted);
|
||||
|
||||
string quotaName = "";
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013)) quotaName = Quotas.CRM2013_ORGANIZATION;
|
||||
else if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM)) quotaName = Quotas.CRM_ORGANIZATION;
|
||||
|
||||
return (cntx.Quotas[quotaName] != null && !cntx.Quotas[quotaName].QuotaExhausted);
|
||||
|
||||
}
|
||||
catch(Exception ex)
|
||||
|
@ -676,19 +730,22 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
if (!quotaRes.Value)
|
||||
{
|
||||
CompleteTask(ret, CrmErrorCodes.USER_QUOTA_HAS_BEEN_REACHED + CALType.ToString(), null, "CRM user quota has been reached.");
|
||||
string errorCode = CrmErrorCodes.USER_QUOTA_HAS_BEEN_REACHED;
|
||||
PackageContext cntx = PackageController.GetPackageContext(packageId);
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
errorCode += "2013_";
|
||||
errorCode += CALType.ToString();
|
||||
|
||||
CompleteTask(ret, errorCode , null, "CRM user quota has been reached.");
|
||||
return ret;
|
||||
}
|
||||
|
||||
Guid crmId;
|
||||
try
|
||||
{
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(packageId, ret);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(ret, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null, "CRM is not selected in hosting plan.");
|
||||
return ret;
|
||||
}
|
||||
|
||||
Organization org = OrganizationController.GetOrganization(itemId);
|
||||
|
||||
|
@ -735,12 +792,9 @@ namespace WebsitePanel.EnterpriseServer
|
|||
CRMBusinessUnitsResult res = StartTask<CRMBusinessUnitsResult>("CRM", "GET_CRM_BUSINESS_UNITS");
|
||||
try
|
||||
{
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(packageId, res);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null, "CRM is not selected in hosting plan.");
|
||||
return res;
|
||||
}
|
||||
|
||||
Organization org;
|
||||
try
|
||||
|
@ -784,12 +838,9 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
try
|
||||
{
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(packageId, res);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null, "CRM is not selected in hosting plan.");
|
||||
return res;
|
||||
}
|
||||
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
@ -874,13 +925,9 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
|
||||
|
||||
int serviceId = PackageController.GetPackageServiceId(org.PackageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(org.PackageId, res);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null,
|
||||
"CRM is not selected in hosting plan.");
|
||||
return res;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -919,13 +966,9 @@ namespace WebsitePanel.EnterpriseServer
|
|||
try
|
||||
{
|
||||
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(packageId, res);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null,
|
||||
"CRM is not selected in hosting plan.");
|
||||
return res;
|
||||
}
|
||||
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
@ -978,13 +1021,9 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return res;
|
||||
}
|
||||
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(packageId, res);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null,
|
||||
"CRM is not selected in hosting plan.");
|
||||
return res;
|
||||
}
|
||||
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
@ -1012,7 +1051,13 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
if (!quotaRes.Value)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.USER_QUOTA_HAS_BEEN_REACHED + CALType.ToString(), null, "CRM user quota has been reached.");
|
||||
string errorCode = CrmErrorCodes.USER_QUOTA_HAS_BEEN_REACHED;
|
||||
PackageContext cntx = PackageController.GetPackageContext(packageId);
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
errorCode += "2013_";
|
||||
errorCode += CALType.ToString();
|
||||
|
||||
CompleteTask(res, errorCode, null, "CRM user quota has been reached.");
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -1058,13 +1103,9 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return res;
|
||||
}
|
||||
|
||||
int serviceId = PackageController.GetPackageServiceId(org.PackageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(org.PackageId, res);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null,
|
||||
"CRM is not selected in hosting plan.");
|
||||
return res;
|
||||
}
|
||||
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
@ -1105,20 +1146,38 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return res;
|
||||
}
|
||||
|
||||
string quotaName = Quotas.CRM_USERS;
|
||||
string quotaName = "";
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
{
|
||||
switch (CALType)
|
||||
{
|
||||
case 0:
|
||||
case CRMUserLycenseTypes.PROFESSIONAL:
|
||||
quotaName = Quotas.CRM2013_PROFESSIONALUSERS;
|
||||
break;
|
||||
case CRMUserLycenseTypes.BASIC:
|
||||
quotaName = Quotas.CRM2013_BASICUSERS;
|
||||
break;
|
||||
case CRMUserLycenseTypes.ESSENTIAL:
|
||||
quotaName = Quotas.CRM2013_ESSENTIALUSERS;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM))
|
||||
{
|
||||
switch (CALType)
|
||||
{
|
||||
case CRMUserLycenseTypes.FULL:
|
||||
quotaName = Quotas.CRM_USERS;
|
||||
break;
|
||||
case 2:
|
||||
case CRMUserLycenseTypes.LIMITED:
|
||||
quotaName = Quotas.CRM_LIMITEDUSERS;
|
||||
break;
|
||||
case 22:
|
||||
case CRMUserLycenseTypes.ESS:
|
||||
quotaName = Quotas.CRM_ESSUSERS;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int allocatedCrmUsers = cntx.Quotas[quotaName].QuotaAllocatedValue;
|
||||
res.Value = allocatedCrmUsers == -1 || allocatedCrmUsers > tmp.Value;
|
||||
|
@ -1137,18 +1196,14 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
public static ResultObject SetMaxDBSize(int itemId, int packageId, long maxSize)
|
||||
{
|
||||
ResultObject res = StartTask<CrmRolesResult>("CRM", "SET_CRM_MAXDBSIZE");
|
||||
ResultObject res = StartTask<ResultObject>("CRM", "SET_CRM_MAXDBSIZE");
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(packageId, res);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null,
|
||||
"CRM is not selected in hosting plan.");
|
||||
return res;
|
||||
}
|
||||
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
@ -1169,7 +1224,11 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
PackageContext cntx = PackageController.GetPackageContext(packageId);
|
||||
|
||||
long limitSize = cntx.Quotas[Quotas.CRM_MAXDATABASESIZE].QuotaAllocatedValue;
|
||||
string quotaName = "";
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013)) quotaName = Quotas.CRM2013_MAXDATABASESIZE;
|
||||
else if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM)) quotaName = Quotas.CRM_MAXDATABASESIZE;
|
||||
|
||||
long limitSize = cntx.Quotas[quotaName].QuotaAllocatedValue;
|
||||
|
||||
if (limitSize != -1)
|
||||
{
|
||||
|
@ -1199,19 +1258,15 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
public static long GetDBSize(int itemId, int packageId)
|
||||
{
|
||||
ResultObject res = StartTask<CrmRolesResult>("CRM", "GET_CRM_DBSIZE");
|
||||
ResultObject res = StartTask<ResultObject>("CRM", "GET_CRM_DBSIZE");
|
||||
long size = -1;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(packageId, res);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null,
|
||||
"CRM is not selected in hosting plan.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
@ -1244,19 +1299,15 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
public static long GetMaxDBSize(int itemId, int packageId)
|
||||
{
|
||||
ResultObject res = StartTask<CrmRolesResult>("CRM", "GET_CRM_MAXDBSIZE");
|
||||
ResultObject res = StartTask<ResultObject>("CRM", "GET_CRM_MAXDBSIZE");
|
||||
long size = -1;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedCRM);
|
||||
int serviceId = GetCRMServiceId(packageId, res);
|
||||
if (serviceId == 0)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CRM_IS_NOT_SELECTED_IN_HOSTING_PLAN, null,
|
||||
"CRM is not selected in hosting plan.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
@ -1287,5 +1338,52 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return size;
|
||||
}
|
||||
|
||||
|
||||
public static int[] GetInstalledLanguagePacks(int packageId)
|
||||
{
|
||||
ResultObject res = StartTask<ResultObject>("CRM", "GET_CRM_MAXDBSIZE");
|
||||
int[] ret = null;
|
||||
|
||||
try
|
||||
{
|
||||
int serviceId = GetCRMServiceId(packageId, res);
|
||||
if (serviceId == 0)
|
||||
return null;
|
||||
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
||||
ret = crm.GetInstalledLanguagePacks();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CANNOT_CONFIGURE_CRM_ORGANIZATION, ex);
|
||||
return null;
|
||||
}
|
||||
CompleteTask();
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static int[] GetInstalledLanguagePacksByServiceId(int serviceId)
|
||||
{
|
||||
ResultObject res = StartTask<ResultObject>("CRM", "GET_CRM_MAXDBSIZE");
|
||||
int[] ret = null;
|
||||
|
||||
try
|
||||
{
|
||||
CRM crm = new CRM();
|
||||
ServiceProviderProxy.Init(crm, serviceId);
|
||||
|
||||
ret = crm.GetInstalledLanguagePacks();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
CompleteTask(res, CrmErrorCodes.CANNOT_CONFIGURE_CRM_ORGANIZATION, ex);
|
||||
return null;
|
||||
}
|
||||
CompleteTask();
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -932,12 +932,20 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
if (cntxTmp.Groups.ContainsKey(ResourceGroups.HostedCRM))
|
||||
{
|
||||
stats.CreatedCRMUsers = CRMController.GetCRMUsersCount(org.Id, string.Empty, string.Empty, 0).Value;
|
||||
stats.CreatedLimitedCRMUsers = CRMController.GetCRMUsersCount(org.Id, string.Empty, string.Empty, 2).Value;
|
||||
stats.CreatedESSCRMUsers = CRMController.GetCRMUsersCount(org.Id, string.Empty, string.Empty, 22).Value;
|
||||
stats.CreatedCRMUsers = CRMController.GetCRMUsersCount(org.Id, string.Empty, string.Empty, CRMUserLycenseTypes.FULL).Value;
|
||||
stats.CreatedLimitedCRMUsers = CRMController.GetCRMUsersCount(org.Id, string.Empty, string.Empty, CRMUserLycenseTypes.LIMITED).Value;
|
||||
stats.CreatedESSCRMUsers = CRMController.GetCRMUsersCount(org.Id, string.Empty, string.Empty, CRMUserLycenseTypes.ESS).Value;
|
||||
stats.UsedCRMDiskSpace = CRMController.GetDBSize(org.Id, org.PackageId);
|
||||
stats.AllocatedCRMDiskSpace = CRMController.GetMaxDBSize(org.Id, org.PackageId);
|
||||
}
|
||||
|
||||
if (cntxTmp.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
{
|
||||
stats.CreatedProfessionalCRMUsers = CRMController.GetCRMUsersCount(org.Id, string.Empty, string.Empty, CRMUserLycenseTypes.PROFESSIONAL).Value;
|
||||
stats.CreatedBasicCRMUsers = CRMController.GetCRMUsersCount(org.Id, string.Empty, string.Empty, CRMUserLycenseTypes.BASIC).Value;
|
||||
stats.CreatedEssentialCRMUsers = CRMController.GetCRMUsersCount(org.Id, string.Empty, string.Empty, CRMUserLycenseTypes.ESSENTIAL).Value;
|
||||
stats.UsedCRMDiskSpace = CRMController.GetDBSize(org.Id, org.PackageId);
|
||||
stats.AllocatedCRMDiskSpace = CRMController.GetMaxDBSize(org.Id, org.PackageId);
|
||||
}
|
||||
|
||||
if (cntxTmp.Groups.ContainsKey(ResourceGroups.BlackBerry))
|
||||
|
@ -996,9 +1004,18 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
if (cntxTmp.Groups.ContainsKey(ResourceGroups.HostedCRM))
|
||||
{
|
||||
stats.CreatedCRMUsers += CRMController.GetCRMUsersCount(o.Id, string.Empty, string.Empty, 0 ).Value;
|
||||
stats.CreatedLimitedCRMUsers += CRMController.GetCRMUsersCount(o.Id, string.Empty, string.Empty, 2).Value;
|
||||
stats.CreatedESSCRMUsers += CRMController.GetCRMUsersCount(o.Id, string.Empty, string.Empty, 22).Value;
|
||||
stats.CreatedCRMUsers += CRMController.GetCRMUsersCount(o.Id, string.Empty, string.Empty, CRMUserLycenseTypes.FULL ).Value;
|
||||
stats.CreatedLimitedCRMUsers += CRMController.GetCRMUsersCount(o.Id, string.Empty, string.Empty, CRMUserLycenseTypes.LIMITED).Value;
|
||||
stats.CreatedESSCRMUsers += CRMController.GetCRMUsersCount(o.Id, string.Empty, string.Empty, CRMUserLycenseTypes.ESS).Value;
|
||||
stats.UsedCRMDiskSpace += CRMController.GetDBSize(o.Id, o.PackageId);
|
||||
stats.AllocatedCRMDiskSpace += CRMController.GetMaxDBSize(o.Id, o.PackageId);
|
||||
}
|
||||
|
||||
if (cntxTmp.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
{
|
||||
stats.CreatedProfessionalCRMUsers += CRMController.GetCRMUsersCount(o.Id, string.Empty, string.Empty, CRMUserLycenseTypes.PROFESSIONAL).Value;
|
||||
stats.CreatedBasicCRMUsers += CRMController.GetCRMUsersCount(o.Id, string.Empty, string.Empty, CRMUserLycenseTypes.BASIC).Value;
|
||||
stats.CreatedEssentialCRMUsers += CRMController.GetCRMUsersCount(o.Id, string.Empty, string.Empty, CRMUserLycenseTypes.ESSENTIAL).Value;
|
||||
stats.UsedCRMDiskSpace += CRMController.GetDBSize(o.Id, o.PackageId);
|
||||
stats.AllocatedCRMDiskSpace += CRMController.GetMaxDBSize(o.Id, o.PackageId);
|
||||
}
|
||||
|
@ -1049,6 +1066,13 @@ namespace WebsitePanel.EnterpriseServer
|
|||
stats.AllocatedESSCRMUsers = cntx.Quotas[Quotas.CRM_ESSUSERS].QuotaAllocatedValue;
|
||||
}
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
{
|
||||
stats.AllocatedProfessionalCRMUsers = cntx.Quotas[Quotas.CRM2013_PROFESSIONALUSERS].QuotaAllocatedValue;
|
||||
stats.AllocatedBasicCRMUsers = cntx.Quotas[Quotas.CRM2013_BASICUSERS].QuotaAllocatedValue;
|
||||
stats.AllocatedEssentialCRMUsers = cntx.Quotas[Quotas.CRM2013_ESSENTIALUSERS].QuotaAllocatedValue;
|
||||
}
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.BlackBerry))
|
||||
{
|
||||
stats.AllocatedBlackBerryUsers = cntx.Quotas[Quotas.BLACKBERRY_USERS].QuotaAllocatedValue;
|
||||
|
|
|
@ -48,25 +48,35 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
|
||||
[WebMethod]
|
||||
public OrganizationResult CreateOrganization(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation)
|
||||
public OrganizationResult CreateOrganization(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation, int baseLanguageCode)
|
||||
{
|
||||
return CRMController.CreateOrganization(organizationId, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, regionName, userId, collation);
|
||||
return CRMController.CreateOrganization(organizationId, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, regionName, userId, collation, baseLanguageCode);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public StringArrayResultObject GetCollation(int packageId)
|
||||
{
|
||||
return CRMController.GetCollationNames(packageId);
|
||||
return CRMController.GetCollation(packageId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public StringArrayResultObject GetCollationByServiceId(int serviceId)
|
||||
{
|
||||
return CRMController.GetCollationByServiceId(serviceId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public CurrencyArrayResultObject GetCurrency(int packageId)
|
||||
{
|
||||
|
||||
return CRMController.GetCurrency(packageId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public CurrencyArrayResultObject GetCurrencyByServiceId(int serviceId)
|
||||
{
|
||||
return CRMController.GetCurrencyByServiceId(serviceId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ResultObject DeleteCRMOrganization(int organizationId)
|
||||
{
|
||||
|
@ -149,5 +159,17 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return CRMController.GetMaxDBSize(itemId, packageId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int[] GetInstalledLanguagePacks(int packageId)
|
||||
{
|
||||
return CRMController.GetInstalledLanguagePacks(packageId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int[] GetInstalledLanguagePacksByServiceId(int serviceId)
|
||||
{
|
||||
return CRMController.GetInstalledLanguagePacksByServiceId(serviceId);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,6 +74,11 @@ namespace WebsitePanel.Providers.Common
|
|||
|
||||
public const string UsersHome = "UsersHome";
|
||||
|
||||
public const string Collation = "Collation";
|
||||
|
||||
public const string Currency = "Currency";
|
||||
|
||||
public const string BaseLanguage = "BaseLanguage";
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
public interface ICRM
|
||||
{
|
||||
OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName,
|
||||
int baseLanguageCode,
|
||||
string ou,
|
||||
string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol,
|
||||
string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail,
|
||||
|
@ -45,6 +46,8 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
|
||||
Currency[] GetCurrencyList();
|
||||
|
||||
int[] GetInstalledLanguagePacks();
|
||||
|
||||
ResultObject DeleteOrganization(Guid orgId);
|
||||
|
||||
UserResult CreateCRMUser(OrganizationUser user, string orgName, Guid organizationId, Guid baseUnitId, int CALType);
|
||||
|
|
|
@ -76,6 +76,52 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
private int allocatedEnterpriseStorageSpace;
|
||||
private int usedEnterpriseStorageSpace;
|
||||
|
||||
private int createdProfessionalCRMUsers;
|
||||
private int allocatedProfessionalCRMUsers;
|
||||
|
||||
public int CreatedProfessionalCRMUsers
|
||||
{
|
||||
get { return createdProfessionalCRMUsers; }
|
||||
set { createdProfessionalCRMUsers = value; }
|
||||
}
|
||||
|
||||
public int AllocatedProfessionalCRMUsers
|
||||
{
|
||||
get { return allocatedProfessionalCRMUsers; }
|
||||
set { allocatedProfessionalCRMUsers = value; }
|
||||
}
|
||||
|
||||
|
||||
private int createdBasicCRMUsers;
|
||||
private int allocatedBasicCRMUsers;
|
||||
|
||||
public int CreatedBasicCRMUsers
|
||||
{
|
||||
get { return createdBasicCRMUsers; }
|
||||
set { createdBasicCRMUsers = value; }
|
||||
}
|
||||
|
||||
public int AllocatedBasicCRMUsers
|
||||
{
|
||||
get { return allocatedBasicCRMUsers; }
|
||||
set { allocatedBasicCRMUsers = value; }
|
||||
}
|
||||
|
||||
private int createdEssentialCRMUsers;
|
||||
private int allocatedEssentialCRMUsers;
|
||||
|
||||
public int CreatedEssentialCRMUsers
|
||||
{
|
||||
get { return createdEssentialCRMUsers; }
|
||||
set { createdEssentialCRMUsers = value; }
|
||||
}
|
||||
|
||||
public int AllocatedEssentialCRMUsers
|
||||
{
|
||||
get { return allocatedEssentialCRMUsers; }
|
||||
set { allocatedEssentialCRMUsers = value; }
|
||||
}
|
||||
|
||||
|
||||
public int CreatedCRMUsers
|
||||
{
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,152 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Server.Utils;
|
||||
using System.Text;
|
||||
using System.Management.Automation.Runspaces;
|
||||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
public class HostedSolutionLog
|
||||
{
|
||||
public static string LogPrefix = "HostedSolution";
|
||||
|
||||
public static void LogStart(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteStart("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
public static void LogEnd(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteEnd("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
public static void LogInfo(string message)
|
||||
{
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, message);
|
||||
}
|
||||
|
||||
public static void LogInfo(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
public static void LogWarning(string message)
|
||||
{
|
||||
Log.WriteWarning("{0} {1}", LogPrefix, message);
|
||||
}
|
||||
|
||||
public static void LogWarning(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteWarning("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
public static void LogError(Exception ex)
|
||||
{
|
||||
Log.WriteError(LogPrefix, ex);
|
||||
}
|
||||
|
||||
public static void LogError(string message, Exception ex)
|
||||
{
|
||||
string text = String.Format("{0} {1}", LogPrefix, message);
|
||||
Log.WriteError(text, ex);
|
||||
}
|
||||
|
||||
public static void DebugInfo(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
public static void EndLog(string message, ResultObject res, string errorCode, Exception ex)
|
||||
{
|
||||
if (res != null)
|
||||
{
|
||||
res.IsSuccess = false;
|
||||
|
||||
if (!string.IsNullOrEmpty(errorCode))
|
||||
res.ErrorCodes.Add(errorCode);
|
||||
}
|
||||
|
||||
if (ex != null)
|
||||
LogError(ex);
|
||||
|
||||
|
||||
//LogRecord.
|
||||
LogEnd(message);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void EndLog(string message, ResultObject res, string errorCode)
|
||||
{
|
||||
EndLog(message, res, errorCode, null);
|
||||
}
|
||||
|
||||
public static void EndLog(string message, ResultObject res)
|
||||
{
|
||||
EndLog(message, res, null);
|
||||
}
|
||||
|
||||
public static void EndLog(string message)
|
||||
{
|
||||
EndLog(message, null);
|
||||
}
|
||||
|
||||
internal static T StartLog<T>(string message) where T : ResultObject, new()
|
||||
{
|
||||
LogStart(message);
|
||||
T res = new T();
|
||||
res.IsSuccess = true;
|
||||
return res;
|
||||
}
|
||||
|
||||
public static void DebugCommand(Command cmd)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder(cmd.CommandText);
|
||||
foreach (CommandParameter parameter in cmd.Parameters)
|
||||
{
|
||||
string formatString = " -{0} {1}";
|
||||
if (parameter.Value is string)
|
||||
formatString = " -{0} '{1}'";
|
||||
else if (parameter.Value is bool)
|
||||
formatString = " -{0} ${1}";
|
||||
sb.AppendFormat(formatString, parameter.Name, parameter.Value);
|
||||
}
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, sb.ToString());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -31,40 +31,44 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="microsoft.crm.sdk.proxy">
|
||||
<HintPath>..\..\Lib\References\Microsoft\microsoft.crm.sdk.proxy.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="microsoft.crm.sdk.proxy, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2011\microsoft.crm.sdk.proxy.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="microsoft.xrm.client">
|
||||
<HintPath>..\..\Lib\References\Microsoft\microsoft.xrm.client.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="microsoft.xrm.client, Version=5.0.9689.1985, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2011\microsoft.xrm.client.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="microsoft.xrm.client.codegeneration">
|
||||
<HintPath>..\..\Lib\References\Microsoft\microsoft.xrm.client.codegeneration.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="microsoft.xrm.client.codegeneration, Version=5.0.9689.1985, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2011\microsoft.xrm.client.codegeneration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="microsoft.xrm.portal">
|
||||
<HintPath>..\..\Lib\References\Microsoft\microsoft.xrm.portal.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="microsoft.xrm.portal, Version=5.0.9689.1985, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2011\microsoft.xrm.portal.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="microsoft.xrm.portal.files">
|
||||
<HintPath>..\..\Lib\References\Microsoft\microsoft.xrm.portal.files.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="microsoft.xrm.portal.files, Version=5.0.9689.1985, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2011\microsoft.xrm.portal.files.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="microsoft.xrm.sdk">
|
||||
<HintPath>..\..\Lib\References\Microsoft\microsoft.xrm.sdk.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="microsoft.xrm.sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2011\microsoft.xrm.sdk.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="microsoft.xrm.sdk.deployment">
|
||||
<HintPath>..\..\Lib\References\Microsoft\microsoft.xrm.sdk.deployment.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="microsoft.xrm.sdk.deployment, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2011\microsoft.xrm.sdk.deployment.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="microsoft.xrm.sdk.workflow">
|
||||
<HintPath>..\..\Lib\References\Microsoft\microsoft.xrm.sdk.workflow.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="microsoft.xrm.sdk.workflow, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2011\microsoft.xrm.sdk.workflow.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\System.Management.Automation.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
|
@ -74,7 +78,9 @@
|
|||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CRMBase.cs" />
|
||||
<Compile Include="CRMProvider2011.cs" />
|
||||
<Compile Include="HostedSolutionLog.cs" />
|
||||
<Compile Include="myorganizationcrmsdktypes.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
|
@ -84,11 +90,6 @@
|
|||
<Name>WebsitePanel.Providers.Base</Name>
|
||||
<Private>False</Private>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\WebsitePanel.Providers.HostedSolution\WebsitePanel.Providers.HostedSolution.csproj">
|
||||
<Project>{A06DE5E4-4331-47E1-8F46-7B846146B559}</Project>
|
||||
<Name>WebsitePanel.Providers.HostedSolution</Name>
|
||||
<Private>False</Private>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\WebsitePanel.Server.Utils\WebsitePanel.Server.Utils.csproj">
|
||||
<Project>{E91E52F3-9555-4D00-B577-2B1DBDD87CA7}</Project>
|
||||
<Name>WebsitePanel.Server.Utils</Name>
|
||||
|
|
|
@ -9,7 +9,9 @@
|
|||
//------------------------------------------------------------------------------
|
||||
|
||||
[assembly: Microsoft.Xrm.Sdk.Client.ProxyTypesAssemblyAttribute()]
|
||||
/*
|
||||
|
||||
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum AccountState
|
||||
|
@ -20,7 +22,7 @@ public enum AccountState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Business that represents a customer or potential customer. The company that is billed in business transactions.
|
||||
|
@ -4875,7 +4877,7 @@ public partial class ActivityParty : Microsoft.Xrm.Sdk.Entity, System.ComponentM
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ActivityPointerState
|
||||
|
@ -4892,7 +4894,7 @@ public enum ActivityPointerState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Scheduled = 3,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Task performed, or to be performed, by a user. An activity is any action for which an entry can be made on a calendar.
|
||||
|
@ -8070,7 +8072,7 @@ public partial class AnnualFiscalCalendar : Microsoft.Xrm.Sdk.Entity, System.Com
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum AppointmentState
|
||||
|
@ -8087,7 +8089,7 @@ public enum AppointmentState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Scheduled = 3,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Commitment representing a time interval with start/end times and duration.
|
||||
|
@ -9622,7 +9624,7 @@ public partial class Appointment : Microsoft.Xrm.Sdk.Entity, System.ComponentMod
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum AsyncOperationState
|
||||
|
@ -9639,7 +9641,7 @@ public enum AsyncOperationState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Completed = 3,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Process whose execution can proceed independently or in the background.
|
||||
|
@ -14691,7 +14693,7 @@ public partial class BulkDeleteFailure : Microsoft.Xrm.Sdk.Entity, System.Compon
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum BulkDeleteOperationState
|
||||
|
@ -14708,7 +14710,7 @@ public enum BulkDeleteOperationState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Completed = 3,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// User-submitted bulk deletion job.
|
||||
|
@ -15149,7 +15151,7 @@ public partial class BulkDeleteOperation : Microsoft.Xrm.Sdk.Entity, System.Comp
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum BulkOperationState
|
||||
|
@ -15163,7 +15165,7 @@ public enum BulkOperationState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// System operation used to perform lengthy and asynchronous operations on large data sets, such as distributing a campaign activity or quick campaign.
|
||||
|
@ -21108,7 +21110,7 @@ public partial class CalendarRule : Microsoft.Xrm.Sdk.Entity, System.ComponentMo
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum CampaignState
|
||||
|
@ -21119,7 +21121,7 @@ public enum CampaignState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Container for campaign activities and responses, sales literature, products, and lists to create, plan, execute, and track the results of a specific marketing campaign through its life.
|
||||
|
@ -22556,7 +22558,7 @@ public partial class Campaign : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum CampaignActivityState
|
||||
|
@ -22570,7 +22572,7 @@ public enum CampaignActivityState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Task performed, or to be performed, by a user for planning or running a campaign.
|
||||
|
@ -24497,7 +24499,7 @@ public partial class CampaignItem : Microsoft.Xrm.Sdk.Entity, System.ComponentMo
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum CampaignResponseState
|
||||
|
@ -24511,7 +24513,7 @@ public enum CampaignResponseState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Response from an existing or a potential new customer for a campaign.
|
||||
|
@ -25993,7 +25995,7 @@ public partial class CampaignResponse : Microsoft.Xrm.Sdk.Entity, System.Compone
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ColumnMappingState
|
||||
|
@ -26001,7 +26003,7 @@ public enum ColumnMappingState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Active = 0,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Mapping for columns in a data map.
|
||||
|
@ -31712,7 +31714,7 @@ public partial class ConstraintBasedGroup : Microsoft.Xrm.Sdk.Entity, System.Com
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ContactState
|
||||
|
@ -31723,7 +31725,7 @@ public enum ContactState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Person with whom a business unit has a relationship, such as customer, supplier, and colleague.
|
||||
|
@ -35945,7 +35947,7 @@ public partial class ContactQuotes : Microsoft.Xrm.Sdk.Entity, System.ComponentM
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ContractState
|
||||
|
@ -35968,7 +35970,7 @@ public enum ContractState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Expired = 5,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Agreement to provide customer service during a specified amount of time or number of cases.
|
||||
|
@ -37502,7 +37504,7 @@ public partial class Contract : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ContractDetailState
|
||||
|
@ -37519,7 +37521,7 @@ public enum ContractDetailState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Expired = 3,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Line item in a contract that specifies the type of service a customer is entitled to.
|
||||
|
@ -42271,7 +42273,7 @@ public partial class Discount : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum DiscountTypeState
|
||||
|
@ -42282,7 +42284,7 @@ public enum DiscountTypeState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Type of discount specified as either a percentage or an amount.
|
||||
|
@ -44193,7 +44195,7 @@ public partial class DuplicateRecord : Microsoft.Xrm.Sdk.Entity, System.Componen
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum DuplicateRuleState
|
||||
|
@ -44204,7 +44206,7 @@ public enum DuplicateRuleState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Active = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Rule used to identify potential duplicates.
|
||||
|
@ -45191,7 +45193,7 @@ public partial class DuplicateRuleCondition : Microsoft.Xrm.Sdk.Entity, System.C
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum EmailState
|
||||
|
@ -45205,7 +45207,7 @@ public enum EmailState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Activity that is delivered using e-mail protocols.
|
||||
|
@ -48145,7 +48147,7 @@ public partial class Equipment : Microsoft.Xrm.Sdk.Entity, System.ComponentModel
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum FaxState
|
||||
|
@ -48159,7 +48161,7 @@ public enum FaxState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Activity that tracks call outcome and number of pages for a fax and optionally stores an electronic copy of the document.
|
||||
|
@ -53690,7 +53692,7 @@ public partial class GoalRollupQuery : Microsoft.Xrm.Sdk.Entity, System.Componen
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ImportState
|
||||
|
@ -53698,7 +53700,7 @@ public enum ImportState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Active = 0,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Status and ownership information for an import job.
|
||||
|
@ -54589,7 +54591,7 @@ public partial class ImportEntityMapping : Microsoft.Xrm.Sdk.Entity, System.Comp
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ImportFileState
|
||||
|
@ -54597,7 +54599,7 @@ public enum ImportFileState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Active = 0,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// File name of file used for import.
|
||||
|
@ -55948,7 +55950,7 @@ public partial class ImportJob : Microsoft.Xrm.Sdk.Entity, System.ComponentModel
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ImportLogState
|
||||
|
@ -55956,7 +55958,7 @@ public enum ImportLogState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Active = 0,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Failure reason and other detailed information for a record that failed to import.
|
||||
|
@ -56540,7 +56542,7 @@ public partial class ImportLog : Microsoft.Xrm.Sdk.Entity, System.ComponentModel
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ImportMapState
|
||||
|
@ -56551,7 +56553,7 @@ public enum ImportMapState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Data map used in import.
|
||||
|
@ -57254,7 +57256,7 @@ public partial class ImportMap : Microsoft.Xrm.Sdk.Entity, System.ComponentModel
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum IncidentState
|
||||
|
@ -57268,7 +57270,7 @@ public enum IncidentState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Service request case associated with a contract.
|
||||
|
@ -58724,7 +58726,7 @@ public partial class Incident : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum IncidentResolutionState
|
||||
|
@ -58738,7 +58740,7 @@ public enum IncidentResolutionState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Special type of activity that includes description of the resolution, billing status, and the duration of the case.
|
||||
|
@ -59781,7 +59783,7 @@ public partial class InvalidDependency : Microsoft.Xrm.Sdk.Entity, System.Compon
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum InvoiceState
|
||||
|
@ -59798,7 +59800,7 @@ public enum InvoiceState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 3,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Order that has been billed.
|
||||
|
@ -63179,7 +63181,7 @@ public partial class IsvConfig : Microsoft.Xrm.Sdk.Entity, System.ComponentModel
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum KbArticleState
|
||||
|
@ -63193,7 +63195,7 @@ public enum KbArticleState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Published = 3,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Structured content that is part of the knowledge base.
|
||||
|
@ -64891,7 +64893,7 @@ public partial class KbArticleTemplate : Microsoft.Xrm.Sdk.Entity, System.Compon
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum LeadState
|
||||
|
@ -64905,7 +64907,7 @@ public enum LeadState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Disqualified = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Prospect or potential sales opportunity. Leads are converted into accounts, contacts, or opportunities when they are qualified. Otherwise, they are deleted or archived.
|
||||
|
@ -68688,7 +68690,7 @@ public partial class LeadProduct : Microsoft.Xrm.Sdk.Entity, System.ComponentMod
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum LetterState
|
||||
|
@ -68702,7 +68704,7 @@ public enum LetterState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Activity that tracks the delivery of a letter. The activity can contain the electronic copy of the letter.
|
||||
|
@ -70364,7 +70366,7 @@ public partial class License : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.I
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ListState
|
||||
|
@ -70375,7 +70377,7 @@ public enum ListState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Group of existing or potential customers created for a marketing campaign or other sales purposes.
|
||||
|
@ -71764,7 +71766,7 @@ public partial class ListMember : Microsoft.Xrm.Sdk.Entity, System.ComponentMode
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum LookUpMappingState
|
||||
|
@ -71772,7 +71774,7 @@ public enum LookUpMappingState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Active = 0,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// In a data map, maps a lookup attribute in a source file to Microsoft Dynamics CRM.
|
||||
|
@ -72180,7 +72182,7 @@ public partial class LookUpMapping : Microsoft.Xrm.Sdk.Entity, System.ComponentM
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum MailMergeTemplateState
|
||||
|
@ -72191,7 +72193,7 @@ public enum MailMergeTemplateState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Template for a mail merge document that contains the standard attributes of that document.
|
||||
|
@ -74280,7 +74282,7 @@ public partial class MonthlyFiscalCalendar : Microsoft.Xrm.Sdk.Entity, System.Co
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum OpportunityState
|
||||
|
@ -74294,7 +74296,7 @@ public enum OpportunityState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Lost = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Potential revenue-generating event, or sale to an account, which needs to be tracked through a sales process to completion.
|
||||
|
@ -76011,7 +76013,7 @@ public partial class Opportunity : Microsoft.Xrm.Sdk.Entity, System.ComponentMod
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum OpportunityCloseState
|
||||
|
@ -76025,7 +76027,7 @@ public enum OpportunityCloseState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Activity that is created automatically when an opportunity is closed, containing information such as the description of the closing and actual revenue.
|
||||
|
@ -77977,7 +77979,7 @@ public partial class OpportunityProduct : Microsoft.Xrm.Sdk.Entity, System.Compo
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum OrderCloseState
|
||||
|
@ -77991,7 +77993,7 @@ public enum OrderCloseState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Activity generated automatically when an order is closed.
|
||||
|
@ -83464,7 +83466,7 @@ public partial class OrganizationUI : Microsoft.Xrm.Sdk.Entity, System.Component
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum OwnerMappingState
|
||||
|
@ -83472,7 +83474,7 @@ public enum OwnerMappingState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Active = 0,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// In a data map, maps ownership data from the source file to Microsoft Dynamics CRM.
|
||||
|
@ -83898,7 +83900,7 @@ public partial class OwnerMapping : Microsoft.Xrm.Sdk.Entity, System.ComponentMo
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum PhoneCallState
|
||||
|
@ -83912,7 +83914,7 @@ public enum PhoneCallState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Activity to track a telephone call.
|
||||
|
@ -85310,7 +85312,7 @@ public partial class PhoneCall : Microsoft.Xrm.Sdk.Entity, System.ComponentModel
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum PickListMappingState
|
||||
|
@ -85318,7 +85320,7 @@ public enum PickListMappingState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Active = 0,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// In a data map, maps list values from the source file to Microsoft Dynamics CRM.
|
||||
|
@ -88719,7 +88721,7 @@ public partial class PostLike : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum PriceLevelState
|
||||
|
@ -88730,7 +88732,7 @@ public enum PriceLevelState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Entity that defines pricing levels.
|
||||
|
@ -93295,7 +93297,7 @@ public partial class ProcessSession : Microsoft.Xrm.Sdk.Entity, System.Component
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ProductState
|
||||
|
@ -93306,7 +93308,7 @@ public enum ProductState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Information about products and their pricing information.
|
||||
|
@ -100282,7 +100284,7 @@ public partial class QueueItem : Microsoft.Xrm.Sdk.Entity, System.ComponentModel
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum QuoteState
|
||||
|
@ -100299,7 +100301,7 @@ public enum QuoteState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Closed = 3,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Formal offer for products and/or services, proposed at specific prices and related payment terms, which is sent to a prospective customer.
|
||||
|
@ -102328,7 +102330,7 @@ public partial class Quote : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.INo
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum QuoteCloseState
|
||||
|
@ -102342,7 +102344,7 @@ public enum QuoteCloseState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Activity generated when a quote is closed.
|
||||
|
@ -107004,7 +107006,7 @@ public partial class RecurringAppointmentMaster : Microsoft.Xrm.Sdk.Entity, Syst
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum RelationshipRoleState
|
||||
|
@ -107015,7 +107017,7 @@ public enum RelationshipRoleState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Relationship between an account or contact and an opportunity.
|
||||
|
@ -115072,7 +115074,7 @@ public partial class SalesLiteratureItem : Microsoft.Xrm.Sdk.Entity, System.Comp
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum SalesOrderState
|
||||
|
@ -115092,7 +115094,7 @@ public enum SalesOrderState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Invoiced = 4,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Quote that has been accepted.
|
||||
|
@ -120852,7 +120854,7 @@ public partial class SdkMessagePair : Microsoft.Xrm.Sdk.Entity, System.Component
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum SdkMessageProcessingStepState
|
||||
|
@ -120863,7 +120865,7 @@ public enum SdkMessageProcessingStepState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Disabled = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Stage in the execution pipeline that a plug-in is to execute.
|
||||
|
@ -125550,7 +125552,7 @@ public partial class Service : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.I
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum ServiceAppointmentState
|
||||
|
@ -125567,7 +125569,7 @@ public enum ServiceAppointmentState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Scheduled = 3,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Activity offered by the organization to satisfy its customer's needs. Each service activity includes date, time, duration, and required resources.
|
||||
|
@ -132591,8 +132593,6 @@ public partial class SystemForm : Microsoft.Xrm.Sdk.Entity, System.ComponentMode
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Person with access to the Microsoft CRM system and who owns objects in the Microsoft CRM database.
|
||||
/// </summary>
|
||||
|
@ -146900,7 +146900,6 @@ public partial class SystemUser : Microsoft.Xrm.Sdk.Entity, System.ComponentMode
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
@ -147275,7 +147274,7 @@ public partial class SystemUserRoles : Microsoft.Xrm.Sdk.Entity, System.Componen
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum TaskState
|
||||
|
@ -147289,7 +147288,7 @@ public enum TaskState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Canceled = 2,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Generic activity representing work needed to be done.
|
||||
|
@ -153380,7 +153379,7 @@ public partial class TimeZoneRule : Microsoft.Xrm.Sdk.Entity, System.ComponentMo
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum TransactionCurrencyState
|
||||
|
@ -153391,7 +153390,7 @@ public enum TransactionCurrencyState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Currency in which a financial transaction is carried out.
|
||||
|
@ -154896,7 +154895,7 @@ public partial class TransactionCurrency : Microsoft.Xrm.Sdk.Entity, System.Comp
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum TransformationMappingState
|
||||
|
@ -154904,7 +154903,7 @@ public enum TransformationMappingState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Active = 0,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// In a data map, maps the transformation of source attributes to Microsoft Dynamics CRM attributes.
|
||||
|
@ -161202,7 +161201,7 @@ public partial class UserForm : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum UserQueryState
|
||||
|
@ -161213,7 +161212,7 @@ public enum UserQueryState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Inactive = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Saved database query that is owned by a user.
|
||||
|
@ -164515,7 +164514,7 @@ public partial class WebResource : Microsoft.Xrm.Sdk.Entity, System.ComponentMod
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
[System.Runtime.Serialization.DataContractAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.2153")]
|
||||
public enum WorkflowState
|
||||
|
@ -164526,7 +164525,7 @@ public enum WorkflowState
|
|||
|
||||
[System.Runtime.Serialization.EnumMemberAttribute()]
|
||||
Activated = 1,
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set of logical rules that define the steps necessary to automate a specific business process, task, or set of actions to be performed.
|
||||
|
@ -168684,4 +168683,3 @@ public partial class ServiceContext : Microsoft.Xrm.Sdk.Client.OrganizationServi
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,46 @@
|
|||
// Copyright (c) 2012 - 2013, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
|
||||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
public class CRMProvider2013 : CRMBase
|
||||
{
|
||||
|
||||
public override bool IsInstalled()
|
||||
{
|
||||
|
||||
return CRMServerVersion.StartsWith("6.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,152 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Server.Utils;
|
||||
using System.Text;
|
||||
using System.Management.Automation.Runspaces;
|
||||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
public class HostedSolutionLog
|
||||
{
|
||||
public static string LogPrefix = "HostedSolution";
|
||||
|
||||
public static void LogStart(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteStart("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
public static void LogEnd(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteEnd("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
public static void LogInfo(string message)
|
||||
{
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, message);
|
||||
}
|
||||
|
||||
public static void LogInfo(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
public static void LogWarning(string message)
|
||||
{
|
||||
Log.WriteWarning("{0} {1}", LogPrefix, message);
|
||||
}
|
||||
|
||||
public static void LogWarning(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteWarning("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
public static void LogError(Exception ex)
|
||||
{
|
||||
Log.WriteError(LogPrefix, ex);
|
||||
}
|
||||
|
||||
public static void LogError(string message, Exception ex)
|
||||
{
|
||||
string text = String.Format("{0} {1}", LogPrefix, message);
|
||||
Log.WriteError(text, ex);
|
||||
}
|
||||
|
||||
public static void DebugInfo(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
public static void EndLog(string message, ResultObject res, string errorCode, Exception ex)
|
||||
{
|
||||
if (res != null)
|
||||
{
|
||||
res.IsSuccess = false;
|
||||
|
||||
if (!string.IsNullOrEmpty(errorCode))
|
||||
res.ErrorCodes.Add(errorCode);
|
||||
}
|
||||
|
||||
if (ex != null)
|
||||
LogError(ex);
|
||||
|
||||
|
||||
//LogRecord.
|
||||
LogEnd(message);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void EndLog(string message, ResultObject res, string errorCode)
|
||||
{
|
||||
EndLog(message, res, errorCode, null);
|
||||
}
|
||||
|
||||
public static void EndLog(string message, ResultObject res)
|
||||
{
|
||||
EndLog(message, res, null);
|
||||
}
|
||||
|
||||
public static void EndLog(string message)
|
||||
{
|
||||
EndLog(message, null);
|
||||
}
|
||||
|
||||
internal static T StartLog<T>(string message) where T : ResultObject, new()
|
||||
{
|
||||
LogStart(message);
|
||||
T res = new T();
|
||||
res.IsSuccess = true;
|
||||
return res;
|
||||
}
|
||||
|
||||
public static void DebugCommand(Command cmd)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder(cmd.CommandText);
|
||||
foreach (CommandParameter parameter in cmd.Parameters)
|
||||
{
|
||||
string formatString = " -{0} {1}";
|
||||
if (parameter.Value is string)
|
||||
formatString = " -{0} '{1}'";
|
||||
else if (parameter.Value is bool)
|
||||
formatString = " -{0} ${1}";
|
||||
sb.AppendFormat(formatString, parameter.Name, parameter.Value);
|
||||
}
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, sb.ToString());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("WebsitePanel.Providers.HostedSolution.Crm2013")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("WebsitePanel.Providers.HostedSolution.Crm2013")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2013")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("111E4961-46B0-4323-9EEB-8FE1DD1D48F6")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{1EF935C9-6DB9-47A1-B261-CB56512DF980}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>WebsitePanel.Providers.HostedSolution.Crm2013</RootNamespace>
|
||||
<AssemblyName>WebsitePanel.Providers.HostedSolution.Crm2013</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\WebsitePanel.Server\bin\Crm2013\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\WebsitePanel.Server\bin\Crm2013\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Crm.Sdk.Proxy">
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2013\Microsoft.Crm.Sdk.Proxy.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Xrm.Client">
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2013\Microsoft.Xrm.Client.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Xrm.Client.CodeGeneration">
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2013\Microsoft.Xrm.Client.CodeGeneration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Xrm.Portal">
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2013\Microsoft.Xrm.Portal.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Xrm.Portal.Files">
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2013\Microsoft.Xrm.Portal.Files.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Xrm.Sdk">
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2013\Microsoft.Xrm.Sdk.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Xrm.Sdk.Deployment">
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2013\Microsoft.Xrm.Sdk.Deployment.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Xrm.Sdk.Workflow">
|
||||
<HintPath>..\..\Lib\References\Microsoft\CRM2013\Microsoft.Xrm.Sdk.Workflow.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\System.Management.Automation.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CRMBase.cs" />
|
||||
<Compile Include="CRMProvider2013.cs" />
|
||||
<Compile Include="HostedSolutionLog.cs" />
|
||||
<Compile Include="MyOrganizationCrmSdkTypes.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\WebsitePanel.Providers.Base\WebsitePanel.Providers.Base.csproj">
|
||||
<Project>{684C932A-6C75-46AC-A327-F3689D89EB42}</Project>
|
||||
<Name>WebsitePanel.Providers.Base</Name>
|
||||
<Private>False</Private>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\WebsitePanel.Server.Utils\WebsitePanel.Server.Utils.csproj">
|
||||
<Project>{E91E52F3-9555-4D00-B577-2B1DBDD87CA7}</Project>
|
||||
<Name>WebsitePanel.Server.Utils</Name>
|
||||
<Private>False</Private>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -328,7 +328,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
return retOrganization;
|
||||
}
|
||||
|
||||
public OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize)
|
||||
public OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, int baseLanguageCode, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize)
|
||||
{
|
||||
return CreateOrganizationInternal(organizationId, organizationUniqueName, organizationFriendlyName, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation);
|
||||
}
|
||||
|
@ -1573,6 +1573,11 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
ret.IsSuccess = false;
|
||||
return ret;
|
||||
}
|
||||
|
||||
public int[] GetInstalledLanguagePacks()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -68,6 +68,8 @@ namespace WebsitePanel.Providers.CRM {
|
|||
|
||||
private System.Threading.SendOrPostCallback GetCurrencyListOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetInstalledLanguagePacksOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback DeleteOrganizationOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback CreateCRMUserOperationCompleted;
|
||||
|
@ -96,7 +98,7 @@ namespace WebsitePanel.Providers.CRM {
|
|||
|
||||
/// <remarks/>
|
||||
public CRM() {
|
||||
this.Url = "http://localhost:9004/CRM.asmx";
|
||||
this.Url = "http://localhost:9003/CRM.asmx";
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -108,6 +110,9 @@ namespace WebsitePanel.Providers.CRM {
|
|||
/// <remarks/>
|
||||
public event GetCurrencyListCompletedEventHandler GetCurrencyListCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetInstalledLanguagePacksCompletedEventHandler GetInstalledLanguagePacksCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event DeleteOrganizationCompletedEventHandler DeleteOrganizationCompleted;
|
||||
|
||||
|
@ -150,11 +155,12 @@ namespace WebsitePanel.Providers.CRM {
|
|||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateOrganization", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public OrganizationResult CreateOrganization(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize) {
|
||||
public OrganizationResult CreateOrganization(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, int baseLanguageCode, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize) {
|
||||
object[] results = this.Invoke("CreateOrganization", new object[] {
|
||||
organizationId,
|
||||
organizationUniqueName,
|
||||
organizationFriendlyName,
|
||||
baseLanguageCode,
|
||||
ou,
|
||||
baseCurrencyCode,
|
||||
baseCurrencyName,
|
||||
|
@ -169,11 +175,28 @@ namespace WebsitePanel.Providers.CRM {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginCreateOrganization(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize, System.AsyncCallback callback, object asyncState) {
|
||||
public System.IAsyncResult BeginCreateOrganization(
|
||||
System.Guid organizationId,
|
||||
string organizationUniqueName,
|
||||
string organizationFriendlyName,
|
||||
int baseLanguageCode,
|
||||
string ou,
|
||||
string baseCurrencyCode,
|
||||
string baseCurrencyName,
|
||||
string baseCurrencySymbol,
|
||||
string initialUserDomainName,
|
||||
string initialUserFirstName,
|
||||
string initialUserLastName,
|
||||
string initialUserPrimaryEmail,
|
||||
string organizationCollation,
|
||||
long maxSize,
|
||||
System.AsyncCallback callback,
|
||||
object asyncState) {
|
||||
return this.BeginInvoke("CreateOrganization", new object[] {
|
||||
organizationId,
|
||||
organizationUniqueName,
|
||||
organizationFriendlyName,
|
||||
baseLanguageCode,
|
||||
ou,
|
||||
baseCurrencyCode,
|
||||
baseCurrencyName,
|
||||
|
@ -193,12 +216,12 @@ namespace WebsitePanel.Providers.CRM {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CreateOrganizationAsync(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize) {
|
||||
this.CreateOrganizationAsync(organizationId, organizationUniqueName, organizationFriendlyName, ou, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation, maxSize, null);
|
||||
public void CreateOrganizationAsync(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, int baseLanguageCode, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize) {
|
||||
this.CreateOrganizationAsync(organizationId, organizationUniqueName, organizationFriendlyName, baseLanguageCode, ou, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation, maxSize, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CreateOrganizationAsync(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize, object userState) {
|
||||
public void CreateOrganizationAsync(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, int baseLanguageCode, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize, object userState) {
|
||||
if ((this.CreateOrganizationOperationCompleted == null)) {
|
||||
this.CreateOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationOperationCompleted);
|
||||
}
|
||||
|
@ -206,6 +229,7 @@ namespace WebsitePanel.Providers.CRM {
|
|||
organizationId,
|
||||
organizationUniqueName,
|
||||
organizationFriendlyName,
|
||||
baseLanguageCode,
|
||||
ou,
|
||||
baseCurrencyCode,
|
||||
baseCurrencyName,
|
||||
|
@ -303,6 +327,45 @@ namespace WebsitePanel.Providers.CRM {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetInstalledLanguagePacks", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public int[] GetInstalledLanguagePacks() {
|
||||
object[] results = this.Invoke("GetInstalledLanguagePacks", new object[0]);
|
||||
return ((int[])(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetInstalledLanguagePacks(System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GetInstalledLanguagePacks", new object[0], callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int[] EndGetInstalledLanguagePacks(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((int[])(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetInstalledLanguagePacksAsync() {
|
||||
this.GetInstalledLanguagePacksAsync(null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetInstalledLanguagePacksAsync(object userState) {
|
||||
if ((this.GetInstalledLanguagePacksOperationCompleted == null)) {
|
||||
this.GetInstalledLanguagePacksOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetInstalledLanguagePacksOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("GetInstalledLanguagePacks", new object[0], this.GetInstalledLanguagePacksOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnGetInstalledLanguagePacksOperationCompleted(object arg) {
|
||||
if ((this.GetInstalledLanguagePacksCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.GetInstalledLanguagePacksCompleted(this, new GetInstalledLanguagePacksCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteOrganization", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
|
@ -981,6 +1044,32 @@ namespace WebsitePanel.Providers.CRM {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void GetInstalledLanguagePacksCompletedEventHandler(object sender, GetInstalledLanguagePacksCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetInstalledLanguagePacksCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal GetInstalledLanguagePacksCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int[] Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((int[])(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
# Visual Studio 2010
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Caching Application Block", "Caching Application Block", "{C8E6F2E4-A5B8-486A-A56E-92D864524682}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
Bin\Microsoft.Practices.EnterpriseLibrary.Common.dll = Bin\Microsoft.Practices.EnterpriseLibrary.Common.dll
|
||||
|
@ -148,6 +148,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.DNS.
|
|||
{E91E52F3-9555-4D00-B577-2B1DBDD87CA7} = {E91E52F3-9555-4D00-B577-2B1DBDD87CA7}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.HostedSolution.Crm2013", "WebsitePanel.Providers.HostedSolution.Crm2013\WebsitePanel.Providers.HostedSolution.Crm2013.csproj", "{1EF935C9-6DB9-47A1-B261-CB56512DF980}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -748,6 +750,16 @@ Global
|
|||
{FA0FB0BA-5A39-4F4E-8EC2-B806B58B74D4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FA0FB0BA-5A39-4F4E-8EC2-B806B58B74D4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FA0FB0BA-5A39-4F4E-8EC2-B806B58B74D4}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1EF935C9-6DB9-47A1-B261-CB56512DF980}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1EF935C9-6DB9-47A1-B261-CB56512DF980}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1EF935C9-6DB9-47A1-B261-CB56512DF980}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{1EF935C9-6DB9-47A1-B261-CB56512DF980}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{1EF935C9-6DB9-47A1-B261-CB56512DF980}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1EF935C9-6DB9-47A1-B261-CB56512DF980}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1EF935C9-6DB9-47A1-B261-CB56512DF980}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1EF935C9-6DB9-47A1-B261-CB56512DF980}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{1EF935C9-6DB9-47A1-B261-CB56512DF980}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{1EF935C9-6DB9-47A1-B261-CB56512DF980}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -55,9 +55,9 @@ namespace WebsitePanel.Server
|
|||
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize)
|
||||
public OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, int baseLanguageCode, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, long maxSize)
|
||||
{
|
||||
return CrmProvider.CreateOrganization(organizationId, organizationUniqueName, organizationFriendlyName, ou, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation, maxSize);
|
||||
return CrmProvider.CreateOrganization(organizationId, organizationUniqueName, organizationFriendlyName, baseLanguageCode, ou, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation, maxSize);
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
|
@ -72,6 +72,13 @@ namespace WebsitePanel.Server
|
|||
return CrmProvider.GetCurrencyList();
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public int[] GetInstalledLanguagePacks()
|
||||
{
|
||||
return CrmProvider.GetInstalledLanguagePacks();
|
||||
}
|
||||
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public ResultObject DeleteOrganization(Guid orgId)
|
||||
{
|
||||
|
|
|
@ -168,7 +168,7 @@
|
|||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<probing privatePath="bin/Crm2011;bin/Exchange2013;bin/Sharepoint2013;bin/Lync2013;bin/Lync2013HP;bin/Dns2012" />
|
||||
<probing privatePath="bin/Crm2011;bin/Crm2013;bin/Exchange2013;bin/Sharepoint2013;bin/Lync2013;bin/Lync2013HP;bin/Dns2012" />
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -5380,4 +5380,49 @@
|
|||
<data name="Quota.HostedCRM.ESSUsers" xml:space="preserve">
|
||||
<value>ESS licenses per organization</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.Hosted CRM2013" xml:space="preserve">
|
||||
<value>Hosted CRM 2013</value>
|
||||
</data>
|
||||
<data name="HostedCRM.USER_QUOTA_HAS_BEEN_REACHED2013_0" xml:space="preserve">
|
||||
<value>CRM users quota (Professional license) has been reached.</value>
|
||||
</data>
|
||||
<data name="HostedCRM.USER_QUOTA_HAS_BEEN_REACHED2013_2" xml:space="preserve">
|
||||
<value>CRM users quota (Basic license) has been reached.</value>
|
||||
</data>
|
||||
<data name="HostedCRM.USER_QUOTA_HAS_BEEN_REACHED2013_5" xml:space="preserve">
|
||||
<value>CRM users quota (Essential license) has been reached.</value>
|
||||
</data>
|
||||
<data name="Quota.HostedCRM2013.BasicUsers" xml:space="preserve">
|
||||
<value>Basic licenses per organization</value>
|
||||
</data>
|
||||
<data name="Quota.HostedCRM2013.EssentialUsers" xml:space="preserve">
|
||||
<value>Essential licenses per organization</value>
|
||||
</data>
|
||||
<data name="Quota.HostedCRM2013.MaxDatabaseSize" xml:space="preserve">
|
||||
<value>Max Database Size, MB</value>
|
||||
</data>
|
||||
<data name="Quota.HostedCRM2013.Organization" xml:space="preserve">
|
||||
<value>CRM Organization</value>
|
||||
</data>
|
||||
<data name="Quota.HostedCRM2013.ProfessionalUsers" xml:space="preserve">
|
||||
<value>Professional licenses per organization</value>
|
||||
</data>
|
||||
<data name="HostedCRM.LicenseBasic" xml:space="preserve">
|
||||
<value>Basic</value>
|
||||
</data>
|
||||
<data name="HostedCRM.LicenseESS" xml:space="preserve">
|
||||
<value>ESS</value>
|
||||
</data>
|
||||
<data name="HostedCRM.LicenseEssential" xml:space="preserve">
|
||||
<value>Essential</value>
|
||||
</data>
|
||||
<data name="HostedCRM.LicenseFull" xml:space="preserve">
|
||||
<value>Full</value>
|
||||
</data>
|
||||
<data name="HostedCRM.LicenseLimited" xml:space="preserve">
|
||||
<value>Limited</value>
|
||||
</data>
|
||||
<data name="HostedCRM.LicenseProfessional" xml:space="preserve">
|
||||
<value>Professional</value>
|
||||
</data>
|
||||
</root>
|
|
@ -59,6 +59,11 @@
|
|||
<td><asp:DropDownList runat="server" ID="ddlCollation" /></td>
|
||||
</tr>
|
||||
|
||||
<tr height="23px">
|
||||
<td class="FormLabel150"><asp:Label runat="server" ID="lblBaseLanguage" meta:resourcekey="lblBaseLanguage" Text="Base Language"/></td>
|
||||
<td><asp:DropDownList runat="server" ID="ddlBaseLanguage" /></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<div class="FormFooterClean">
|
||||
<asp:Button runat="server" meta:resourcekey="btnCreate" ID="btnCreate" CssClass="Button2" OnClick="btnCreate_Click" />
|
||||
|
|
|
@ -28,14 +28,59 @@
|
|||
|
||||
using System;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal.CRM
|
||||
{
|
||||
public partial class CRMOrganizationDetails : WebsitePanelModuleBase
|
||||
{
|
||||
|
||||
private StringDictionary ConvertArrayToDictionary(string[] settings)
|
||||
{
|
||||
StringDictionary r = new StringDictionary();
|
||||
foreach (string setting in settings)
|
||||
{
|
||||
int idx = setting.IndexOf('=');
|
||||
r.Add(setting.Substring(0, idx), setting.Substring(idx + 1));
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
private StringDictionary serviceSettings = null;
|
||||
|
||||
private StringDictionary ServiceSettings
|
||||
{
|
||||
get
|
||||
{
|
||||
if (serviceSettings != null)
|
||||
return serviceSettings;
|
||||
|
||||
PackageInfo pi = PackagesHelper.GetCachedPackage(PanelSecurity.PackageId);
|
||||
ServiceInfo[] si = ES.Services.Servers.GetServicesByServerIdGroupName(pi.ServerId, ResourceGroups.HostedCRM2013);
|
||||
if (si.Length == 0) si = ES.Services.Servers.GetServicesByServerIdGroupName(pi.ServerId, ResourceGroups.HostedCRM);
|
||||
|
||||
if (si.Length > 0)
|
||||
{
|
||||
int serviceId = si[0].ServiceId;
|
||||
string[] settings = ES.Services.Servers.GetServiceSettings(serviceId);
|
||||
serviceSettings = ConvertArrayToDictionary(settings);
|
||||
}
|
||||
else
|
||||
serviceSettings = new StringDictionary();
|
||||
|
||||
return serviceSettings;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private StringArrayResultObject BindCollations()
|
||||
{
|
||||
StringArrayResultObject res = ES.Services.CRM.GetCollation(PanelSecurity.PackageId);
|
||||
|
@ -43,8 +88,10 @@ namespace WebsitePanel.Portal.CRM
|
|||
{
|
||||
ddlCollation.DataSource = res.Value;
|
||||
ddlCollation.DataBind();
|
||||
ddlCollation.SelectedValue = "Latin1_General_CI_AI";
|
||||
Utils.SelectListItem(ddlCollation, "Latin1_General_CI_AI"); // default
|
||||
Utils.SelectListItem(ddlCollation, ServiceSettings[Constants.Collation]);
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -66,15 +113,35 @@ namespace WebsitePanel.Portal.CRM
|
|||
}));
|
||||
|
||||
ddlCurrency.Items.Add(item);
|
||||
|
||||
}
|
||||
Utils.SelectListItem(ddlCurrency, "USD|US Dollar|$|United States"); // default
|
||||
Utils.SelectListItem(ddlCurrency, ServiceSettings[Constants.Currency]);
|
||||
}
|
||||
|
||||
ddlCurrency.SelectedValue = "USD|US Dollar|$|United States";
|
||||
}
|
||||
return res;
|
||||
|
||||
}
|
||||
|
||||
private void BindBaseLanguage()
|
||||
{
|
||||
ddlBaseLanguage.Items.Clear();
|
||||
int[] langPacksId = ES.Services.CRM.GetInstalledLanguagePacks(PanelSecurity.PackageId);
|
||||
if (langPacksId != null)
|
||||
{
|
||||
foreach (int langId in langPacksId)
|
||||
{
|
||||
CultureInfo ci = CultureInfo.GetCultureInfo(langId);
|
||||
|
||||
ListItem item = new ListItem(ci.EnglishName, langId.ToString());
|
||||
ddlBaseLanguage.Items.Add(item);
|
||||
}
|
||||
|
||||
Utils.SelectListItem(ddlBaseLanguage, "1033"); // default
|
||||
Utils.SelectListItem(ddlBaseLanguage, ServiceSettings[Constants.BaseLanguage]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void ShowCrmOrganizationDetails(string admin, Organization org)
|
||||
|
@ -82,6 +149,7 @@ namespace WebsitePanel.Portal.CRM
|
|||
btnCreate.Visible = false;
|
||||
ddlCollation.Enabled = false;
|
||||
ddlCurrency.Enabled = false;
|
||||
ddlBaseLanguage.Enabled = false;
|
||||
administrator.Visible = false;
|
||||
lblAdmin.Visible = true;
|
||||
lblAdmin.Text = admin;
|
||||
|
@ -89,7 +157,6 @@ namespace WebsitePanel.Portal.CRM
|
|||
hlOrganizationPage.Visible = true;
|
||||
hlOrganizationPage.NavigateUrl = org.CrmUrl;
|
||||
hlOrganizationPage.Text = org.CrmUrl;
|
||||
|
||||
}
|
||||
|
||||
private void ShowOrganizationDetails()
|
||||
|
@ -97,12 +164,12 @@ namespace WebsitePanel.Portal.CRM
|
|||
btnCreate.Visible = true;
|
||||
ddlCollation.Enabled = true;
|
||||
ddlCurrency.Enabled = true;
|
||||
ddlBaseLanguage.Enabled = true;
|
||||
administrator.Visible = true;
|
||||
lblAdmin.Visible = false;
|
||||
|
||||
btnDelete.Visible = false;
|
||||
hlOrganizationPage.Visible = false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -125,22 +192,20 @@ namespace WebsitePanel.Portal.CRM
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BindBaseLanguage();
|
||||
|
||||
Organization org = ES.Services.Organizations.GetOrganization(PanelRequest.ItemID);
|
||||
lblCrmOrgId.Text = org.OrganizationId;
|
||||
lblCrmOrgName.Text = org.Name;
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(org.CrmCurrency)) //CRM organization
|
||||
{
|
||||
OrganizationUser admin =
|
||||
ES.Services.Organizations.GetUserGeneralSettings(org.Id, org.CrmAdministratorId);
|
||||
|
||||
ddlCurrency.SelectedValue = org.CrmCurrency;
|
||||
ddlCollation.SelectedValue = org.CrmCollation;
|
||||
Utils.SelectListItem(ddlCurrency, org.CrmCurrency);
|
||||
Utils.SelectListItem(ddlCollation, org.CrmCollation);
|
||||
Utils.SelectListItem(ddlBaseLanguage, org.CrmLanguadgeCode);
|
||||
|
||||
ShowCrmOrganizationDetails(admin.DisplayName, org);
|
||||
}
|
||||
|
@ -172,13 +237,15 @@ namespace WebsitePanel.Portal.CRM
|
|||
return;
|
||||
}
|
||||
|
||||
int baseLanguage = 0;
|
||||
int.TryParse(ddlBaseLanguage.SelectedValue, out baseLanguage);
|
||||
|
||||
EnterpriseServer.esCRM CRM = ES.Services.CRM;
|
||||
|
||||
CRM.Timeout = 7200000; //# Set longer timeout
|
||||
|
||||
OrganizationResult res = CRM.CreateOrganization(org.Id, cuurrencyData[0], cuurrencyData[1], cuurrencyData[2], cuurrencyData[3],
|
||||
administrator.GetAccountId(), ddlCollation.SelectedValue);
|
||||
administrator.GetAccountId(), ddlCollation.SelectedValue, baseLanguage);
|
||||
|
||||
messageBox.ShowMessage(res, "CreateCrmOrganization", "HostedCRM");
|
||||
if (res.IsSuccess)
|
||||
|
|
|
@ -1,7 +1,34 @@
|
|||
// Copyright (c) 2014, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.4927
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
@ -184,6 +211,24 @@ namespace WebsitePanel.Portal.CRM {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlCollation;
|
||||
|
||||
/// <summary>
|
||||
/// lblBaseLanguage 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.Label lblBaseLanguage;
|
||||
|
||||
/// <summary>
|
||||
/// ddlBaseLanguage 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.DropDownList ddlBaseLanguage;
|
||||
|
||||
/// <summary>
|
||||
/// btnCreate control.
|
||||
/// </summary>
|
||||
|
@ -201,14 +246,5 @@ namespace WebsitePanel.Portal.CRM {
|
|||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnDelete;
|
||||
|
||||
/// <summary>
|
||||
/// FormComments 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.Localize FormComments;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,7 +63,11 @@ namespace WebsitePanel.Portal
|
|||
Organization org = ES.Services.Organizations.GetOrganization(PanelRequest.ItemID);
|
||||
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
|
||||
|
||||
int limitDBSize = cntx.Quotas[Quotas.CRM_MAXDATABASESIZE].QuotaAllocatedValue;
|
||||
string quotaName = "";
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013)) quotaName = Quotas.CRM2013_MAXDATABASESIZE;
|
||||
else if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM)) quotaName = Quotas.CRM_MAXDATABASESIZE;
|
||||
|
||||
int limitDBSize = cntx.Quotas[quotaName].QuotaAllocatedValue;
|
||||
//maxStorageSettingsValue.ParentQuotaValue = limitDBSize;
|
||||
maxStorageSettingsValue.ParentQuotaValue = -1;
|
||||
|
||||
|
@ -86,7 +90,12 @@ namespace WebsitePanel.Portal
|
|||
try
|
||||
{
|
||||
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
|
||||
long limitSize = cntx.Quotas[Quotas.CRM_MAXDATABASESIZE].QuotaAllocatedValue;
|
||||
|
||||
string quotaName = "";
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013)) quotaName = Quotas.CRM2013_MAXDATABASESIZE;
|
||||
else if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM)) quotaName = Quotas.CRM_MAXDATABASESIZE;
|
||||
|
||||
long limitSize = cntx.Quotas[quotaName].QuotaAllocatedValue;
|
||||
|
||||
long maxSize = maxStorageSettingsValue.QuotaValue;
|
||||
|
||||
|
|
|
@ -54,9 +54,6 @@
|
|||
<td class="FormLabel150"><asp:Localize runat="server" meta:resourcekey="locLicenseType" Text="License Type:" /></td>
|
||||
<td>
|
||||
<asp:DropDownList ID="ddlLicenseType" runat="server" CssClass="NormalTextBox" AutoPostBack="false">
|
||||
<asp:ListItem Value="0" meta:resourcekey="ddlLicenseTypeFull">Full</asp:ListItem>
|
||||
<asp:ListItem Value="2" meta:resourcekey="ddlLicenseTypeLimited">Limited</asp:ListItem>
|
||||
<asp:ListItem Value="22" meta:resourcekey="ddlLicenseTypeESS">ESS</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -32,6 +32,7 @@ using System.Web.UI.WebControls;
|
|||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal.CRM
|
||||
{
|
||||
|
@ -41,6 +42,27 @@ namespace WebsitePanel.Portal.CRM
|
|||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
{
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseProfessional"), CRMUserLycenseTypes.PROFESSIONAL.ToString()));
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseBasic"), CRMUserLycenseTypes.BASIC.ToString()));
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseEssential"), CRMUserLycenseTypes.ESSENTIAL.ToString()));
|
||||
}
|
||||
else
|
||||
{
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseFull"), CRMUserLycenseTypes.FULL.ToString()));
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseLimited"), CRMUserLycenseTypes.LIMITED.ToString()));
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseESS"), CRMUserLycenseTypes.ESS.ToString()));
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
OrganizationUser user =
|
||||
|
@ -61,17 +83,7 @@ namespace WebsitePanel.Portal.CRM
|
|||
|
||||
int cALType = userResult.Value.CALType + ((int)userResult.Value.ClientAccessMode) * 10;
|
||||
|
||||
switch (cALType)
|
||||
{
|
||||
case 0 :
|
||||
case 2 :
|
||||
case 22:
|
||||
ddlLicenseType.SelectedValue = cALType.ToString();
|
||||
break;
|
||||
default:
|
||||
ddlLicenseType.SelectedIndex = 0;
|
||||
break;
|
||||
}
|
||||
Utils.SelectListItem(ddlLicenseType, cALType);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// Copyright (c) 2014, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
|
|
|
@ -80,6 +80,7 @@
|
|||
</asp:ObjectDataSource>
|
||||
<br />
|
||||
|
||||
<asp:Panel ID="CRM2011Panel" runat="server">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right" nowrap>
|
||||
|
@ -105,8 +106,39 @@
|
|||
<wsp:QuotaViewer ID="essusersQuota" runat="server" QuotaTypeId="2" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</asp:Panel>
|
||||
|
||||
<asp:Panel ID="CRM2013Panel" runat="server">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right" nowrap>
|
||||
<asp:Localize ID="Localize1" runat="server" meta:resourcekey="locQuota" Text="Professional licenses :"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:QuotaViewer ID="professionalusersQuota" runat="server" QuotaTypeId="2" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap>
|
||||
<asp:Localize ID="locBasicQuota" runat="server" meta:resourcekey="locBasicQuota" Text="Basic licenses :"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:QuotaViewer ID="basicusersQuota" runat="server" QuotaTypeId="2" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" nowrap>
|
||||
<asp:Localize ID="locEssentialQuota" runat="server" meta:resourcekey="locEssentialQuota" Text="Essential licenses :"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:QuotaViewer ID="essentialusersQuota" runat="server" QuotaTypeId="2" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:Panel>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -41,25 +41,42 @@ namespace WebsitePanel.Portal.CRM
|
|||
{
|
||||
messageBox.ShowErrorMessage("NOT_CRM_ORGANIZATION");
|
||||
btnCreateUser.Enabled = false;
|
||||
CRM2011Panel.Visible = false;
|
||||
CRM2013Panel.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
OrganizationStatistics stats = ES.Services.Organizations.GetOrganizationStatisticsByOrganization(PanelRequest.ItemID);
|
||||
OrganizationStatistics tenantStats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID);
|
||||
int allocatedCrmUsers = stats.AllocatedCRMUsers;
|
||||
int usedUsers = stats.CreatedCRMUsers;
|
||||
|
||||
usersQuota.QuotaUsedValue = usedUsers;
|
||||
usersQuota.QuotaValue = allocatedCrmUsers;
|
||||
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
{
|
||||
CRM2011Panel.Visible = false;
|
||||
CRM2013Panel.Visible = true;
|
||||
|
||||
professionalusersQuota.QuotaUsedValue = stats.CreatedProfessionalCRMUsers;
|
||||
professionalusersQuota.QuotaValue = stats.AllocatedProfessionalCRMUsers;
|
||||
|
||||
basicusersQuota.QuotaUsedValue = stats.CreatedBasicCRMUsers;
|
||||
basicusersQuota.QuotaValue = stats.AllocatedBasicCRMUsers;
|
||||
|
||||
essentialusersQuota.QuotaUsedValue = stats.CreatedEssentialCRMUsers;
|
||||
essentialusersQuota.QuotaValue = stats.AllocatedEssentialCRMUsers;
|
||||
}
|
||||
else
|
||||
{
|
||||
CRM2011Panel.Visible = true;
|
||||
CRM2013Panel.Visible = false;
|
||||
|
||||
usersQuota.QuotaUsedValue = stats.CreatedCRMUsers;
|
||||
usersQuota.QuotaValue = stats.AllocatedCRMUsers;
|
||||
|
||||
limitedusersQuota.QuotaUsedValue = stats.CreatedLimitedCRMUsers;
|
||||
limitedusersQuota.QuotaValue = stats.AllocatedLimitedCRMUsers;
|
||||
|
||||
//if (stats.AllocatedCRMUsers != -1) usersQuota.QuotaAvailable = tenantStats.AllocatedCRMUsers - tenantStats.CreatedCRMUsers;
|
||||
//if (stats.AllocatedLimitedCRMUsers != -1) limitedusersQuota.QuotaAvailable = tenantStats.AllocatedLimitedCRMUsers - tenantStats.CreatedLimitedCRMUsers;
|
||||
|
||||
essusersQuota.QuotaUsedValue = stats.CreatedESSCRMUsers;
|
||||
essusersQuota.QuotaValue = stats.AllocatedESSCRMUsers;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// Copyright (c) 2014, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
|
@ -166,6 +166,15 @@ namespace WebsitePanel.Portal.CRM {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ObjectDataSource odsAccountsPaged;
|
||||
|
||||
/// <summary>
|
||||
/// CRM2011Panel 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.Panel CRM2011Panel;
|
||||
|
||||
/// <summary>
|
||||
/// locQuota control.
|
||||
/// </summary>
|
||||
|
@ -219,5 +228,68 @@ namespace WebsitePanel.Portal.CRM {
|
|||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer essusersQuota;
|
||||
|
||||
/// <summary>
|
||||
/// CRM2013Panel 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.Panel CRM2013Panel;
|
||||
|
||||
/// <summary>
|
||||
/// Localize1 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.Localize Localize1;
|
||||
|
||||
/// <summary>
|
||||
/// professionalusersQuota control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer professionalusersQuota;
|
||||
|
||||
/// <summary>
|
||||
/// locBasicQuota 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.Localize locBasicQuota;
|
||||
|
||||
/// <summary>
|
||||
/// basicusersQuota control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer basicusersQuota;
|
||||
|
||||
/// <summary>
|
||||
/// locEssentialQuota 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.Localize locEssentialQuota;
|
||||
|
||||
/// <summary>
|
||||
/// essentialusersQuota control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer essentialusersQuota;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,9 +43,6 @@
|
|||
<td class="FormLabel150"><asp:Localize runat="server" meta:resourcekey="locLicenseType" Text="License Type: *" /></td>
|
||||
<td>
|
||||
<asp:DropDownList ID="ddlLicenseType" runat="server" CssClass="NormalTextBox" AutoPostBack="false">
|
||||
<asp:ListItem Value="0" meta:resourcekey="ddlLicenseTypeFull">Full</asp:ListItem>
|
||||
<asp:ListItem Value="2" meta:resourcekey="ddlLicenseTypeLimited">Limited</asp:ListItem>
|
||||
<asp:ListItem Value="22" meta:resourcekey="ddlLicenseTypeESS">ESS</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
using System;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal.CRM
|
||||
{
|
||||
|
@ -38,6 +39,28 @@ namespace WebsitePanel.Portal.CRM
|
|||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
{
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseProfessional"), CRMUserLycenseTypes.PROFESSIONAL.ToString()));
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseBasic"), CRMUserLycenseTypes.BASIC.ToString()));
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseEssential"), CRMUserLycenseTypes.ESSENTIAL.ToString()));
|
||||
}
|
||||
else
|
||||
{
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseFull"), CRMUserLycenseTypes.FULL.ToString()));
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseLimited"), CRMUserLycenseTypes.LIMITED.ToString()));
|
||||
ddlLicenseType.Items.Add(new System.Web.UI.WebControls.ListItem(
|
||||
GetSharedLocalizedString("HostedCRM.LicenseESS"), CRMUserLycenseTypes.ESS.ToString()));
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
CRMBusinessUnitsResult res =
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// Copyright (c) 2014, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
|
|
|
@ -206,14 +206,17 @@ namespace WebsitePanel.Portal
|
|||
|
||||
|
||||
public static void SelectListItem(ListControl ctrl, object value)
|
||||
{
|
||||
string val = (value != null) ? value.ToString() : "";
|
||||
ListItem item = ctrl.Items.FindByValue(val);
|
||||
if (item != null)
|
||||
{
|
||||
// unselect currently selected item
|
||||
if (ctrl.SelectedIndex != -1)
|
||||
ctrl.SelectedItem.Selected = false;
|
||||
|
||||
string val = (value != null) ? value.ToString() : "";
|
||||
ListItem item = ctrl.Items.FindByValue(val);
|
||||
if (item != null) item.Selected = true;
|
||||
item.Selected = true;
|
||||
}
|
||||
}
|
||||
|
||||
public static void SaveListControlState(ListControl ctrl)
|
||||
|
|
|
@ -240,6 +240,48 @@
|
|||
</tr>
|
||||
</asp:Panel>
|
||||
|
||||
<asp:Panel runat="server" ID="crm2013StatsPanel">
|
||||
<tr >
|
||||
<td class="OrgStatsGroup" width="100%" colspan="2">
|
||||
<asp:Localize ID="locCRM2013" runat="server" meta:resourcekey="locCRM2013"
|
||||
Text="CRM 2013"></asp:Localize>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="OrgStatsRow">
|
||||
<td align="right" nowrap>
|
||||
<asp:HyperLink ID="lnkProfessionalCRMUsers" runat="server" meta:resourcekey="lnkProfessionalCRMUsers" Text="Professional licenses :"></asp:HyperLink>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:QuotaViewer ID="crmProfessionalUsersStats" QuotaTypeId="2" runat="server" DisplayGauge="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="OrgStatsRow">
|
||||
<td align="right" nowrap>
|
||||
<asp:HyperLink ID="lnkBasicCRMUsers" runat="server" meta:resourcekey="lnkBasicCRMUsers" Text="Basic licenses :"></asp:HyperLink>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:QuotaViewer ID="crmBasicUsersStats" QuotaTypeId="2" runat="server" DisplayGauge="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="OrgStatsRow">
|
||||
<td align="right" nowrap>
|
||||
<asp:HyperLink ID="lnkEssentialCRMUsers" runat="server" meta:resourcekey="lnkEssentialCRMUsers" Text="Essential licenses :"></asp:HyperLink>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:QuotaViewer ID="crmEssentialUsersStats" QuotaTypeId="2" runat="server" DisplayGauge="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="OrgStatsRow">
|
||||
<td align="right" nowrap>
|
||||
<asp:HyperLink ID="lnkCRM2013DBSize" runat="server" meta:resourcekey="lnkCRMDBSize" Text="Storage size (MB):"></asp:HyperLink>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:QuotaViewer ID="crm2013DBSize" runat="server" QuotaTypeId="2" DisplayGauge="true" />
|
||||
</td>
|
||||
</tr>
|
||||
</asp:Panel>
|
||||
|
||||
|
||||
<asp:Panel runat="server" ID="enterpriseStorageStatsPanel">
|
||||
<tr>
|
||||
<td class="OrgStatsGroup" width="100%" colspan="2">
|
||||
|
|
|
@ -224,12 +224,27 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
|
||||
|
||||
if (org.CrmOrganizationId != Guid.Empty)
|
||||
{
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
{
|
||||
crm2013StatsPanel.Visible = true;
|
||||
crmStatsPanel.Visible = false;
|
||||
BindCRM2013Stats(orgStats, tenantStats);
|
||||
}
|
||||
else if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM))
|
||||
{
|
||||
crmStatsPanel.Visible = true;
|
||||
crm2013StatsPanel.Visible = false;
|
||||
BindCRMStats(orgStats, tenantStats);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
crmStatsPanel.Visible = false;
|
||||
crm2013StatsPanel.Visible = false;
|
||||
}
|
||||
|
||||
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.EnterpriseStorage))
|
||||
|
@ -267,6 +282,30 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
crmDBSize.QuotaValue = Convert.ToInt32(stats.AllocatedCRMDiskSpace>0 ? stats.AllocatedCRMDiskSpace/(1024*1024) : -1);
|
||||
}
|
||||
|
||||
private void BindCRM2013Stats(OrganizationStatistics stats, OrganizationStatistics tenantStats)
|
||||
{
|
||||
lnkProfessionalCRMUsers.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "crmusers",
|
||||
"SpaceID=" + PanelSecurity.PackageId);
|
||||
|
||||
lnkBasicCRMUsers.NavigateUrl = lnkCRMUsers.NavigateUrl;
|
||||
lnkEssentialCRMUsers.NavigateUrl = lnkCRMUsers.NavigateUrl;
|
||||
|
||||
lnkCRM2013DBSize.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "crm_storage_settings",
|
||||
"SpaceID=" + PanelSecurity.PackageId);
|
||||
|
||||
crmProfessionalUsersStats.QuotaUsedValue = stats.CreatedProfessionalCRMUsers;
|
||||
crmProfessionalUsersStats.QuotaValue = stats.AllocatedProfessionalCRMUsers;
|
||||
|
||||
crmBasicUsersStats.QuotaUsedValue = stats.CreatedBasicCRMUsers;
|
||||
crmBasicUsersStats.QuotaValue = stats.AllocatedBasicCRMUsers;
|
||||
|
||||
crmEssentialUsersStats.QuotaUsedValue = stats.CreatedEssentialCRMUsers;
|
||||
crmEssentialUsersStats.QuotaValue = stats.AllocatedEssentialCRMUsers;
|
||||
|
||||
crm2013DBSize.QuotaUsedValue = Convert.ToInt32(stats.UsedCRMDiskSpace > 0 ? stats.UsedCRMDiskSpace / (1024 * 1024) : -1);
|
||||
crm2013DBSize.QuotaValue = Convert.ToInt32(stats.AllocatedCRMDiskSpace > 0 ? stats.AllocatedCRMDiskSpace / (1024 * 1024) : -1);
|
||||
}
|
||||
|
||||
private void BindOCSStats(OrganizationStatistics stats, OrganizationStatistics tenantStats)
|
||||
{
|
||||
ocsUsersStats.QuotaValue = stats.AllocatedOCSUsers;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// Copyright (c) 2014, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
|
@ -589,6 +589,96 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer crmDBSize;
|
||||
|
||||
/// <summary>
|
||||
/// crm2013StatsPanel 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.Panel crm2013StatsPanel;
|
||||
|
||||
/// <summary>
|
||||
/// locCRM2013 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.Localize locCRM2013;
|
||||
|
||||
/// <summary>
|
||||
/// lnkProfessionalCRMUsers 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.HyperLink lnkProfessionalCRMUsers;
|
||||
|
||||
/// <summary>
|
||||
/// crmProfessionalUsersStats control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer crmProfessionalUsersStats;
|
||||
|
||||
/// <summary>
|
||||
/// lnkBasicCRMUsers 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.HyperLink lnkBasicCRMUsers;
|
||||
|
||||
/// <summary>
|
||||
/// crmBasicUsersStats control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer crmBasicUsersStats;
|
||||
|
||||
/// <summary>
|
||||
/// lnkEssentialCRMUsers 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.HyperLink lnkEssentialCRMUsers;
|
||||
|
||||
/// <summary>
|
||||
/// crmEssentialUsersStats control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer crmEssentialUsersStats;
|
||||
|
||||
/// <summary>
|
||||
/// lnkCRM2013DBSize 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.HyperLink lnkCRM2013DBSize;
|
||||
|
||||
/// <summary>
|
||||
/// crm2013DBSize control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.QuotaViewer crm2013DBSize;
|
||||
|
||||
/// <summary>
|
||||
/// enterpriseStorageStatsPanel control.
|
||||
/// </summary>
|
||||
|
|
|
@ -213,4 +213,7 @@
|
|||
<data name="Text.LyncPhoneNumbers" xml:space="preserve">
|
||||
<value>Phone Numbers</value>
|
||||
</data>
|
||||
<data name="Text.CRMGroup2013" xml:space="preserve">
|
||||
<value>CRM 2013</value>
|
||||
</data>
|
||||
</root>
|
|
@ -200,6 +200,19 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
|||
|
||||
}
|
||||
|
||||
private void PrepareCRMMenu2013(PackageContext cntx, List<MenuGroup> groups, string imagePath)
|
||||
{
|
||||
MenuGroup crmGroup = new MenuGroup(GetLocalizedString("Text.CRMGroup2013"), imagePath + "crm_16.png");
|
||||
|
||||
crmGroup.MenuItems.Add(CreateMenuItem("CRMOrganization", "CRMOrganizationDetails"));
|
||||
crmGroup.MenuItems.Add(CreateMenuItem("CRMUsers", "CRMUsers"));
|
||||
crmGroup.MenuItems.Add(CreateMenuItem("StorageLimits", "crm_storage_settings"));
|
||||
|
||||
if (crmGroup.MenuItems.Count > 0)
|
||||
groups.Add(crmGroup);
|
||||
|
||||
}
|
||||
|
||||
private void PrepareBlackBerryMenu(PackageContext cntx, List<MenuGroup> groups, string imagePath)
|
||||
{
|
||||
MenuGroup bbGroup = new MenuGroup(GetLocalizedString("Text.BlackBerryGroup"), imagePath + "blackberry16.png");
|
||||
|
@ -292,7 +305,9 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
|||
}
|
||||
|
||||
//CRM Menu
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM))
|
||||
if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
PrepareCRMMenu2013(cntx, groups, imagePath);
|
||||
else if (cntx.Groups.ContainsKey(ResourceGroups.HostedCRM))
|
||||
PrepareCRMMenu(cntx, groups, imagePath);
|
||||
|
||||
|
||||
|
|
|
@ -94,4 +94,20 @@
|
|||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead" width="200" nowrap>Default Currency</td>
|
||||
<td><asp:DropDownList runat="server" ID="ddlCurrency"/></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead" width="200" nowrap/>Default Collation</td>
|
||||
<td><asp:DropDownList runat="server" ID="ddlCollation" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead" width="200" nowrap>Default Base Language</td>
|
||||
<td><asp:DropDownList runat="server" ID="ddlBaseLanguage" /></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
|
@ -27,8 +27,12 @@
|
|||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Globalization;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
|
||||
namespace WebsitePanel.Portal.ProviderControls
|
||||
{
|
||||
|
@ -60,8 +64,54 @@ namespace WebsitePanel.Portal.ProviderControls
|
|||
int selectedAddressid = FindAddressByText(settings[Constants.CRMWebsiteIP]);
|
||||
ddlCrmIpAddress.AddressId = (selectedAddressid > 0) ? selectedAddressid : 0;
|
||||
|
||||
ddlSchema.SelectedValue = settings[Constants.UrlSchema];
|
||||
Utils.SelectListItem(ddlSchema, settings[Constants.UrlSchema]);
|
||||
|
||||
// Collation
|
||||
StringArrayResultObject res = ES.Services.CRM.GetCollationByServiceId(PanelRequest.ServiceId);
|
||||
if (res.IsSuccess)
|
||||
{
|
||||
ddlCollation.DataSource = res.Value;
|
||||
ddlCollation.DataBind();
|
||||
Utils.SelectListItem(ddlCollation, "Latin1_General_CI_AI"); // default
|
||||
}
|
||||
Utils.SelectListItem(ddlCollation, settings[Constants.Collation]);
|
||||
|
||||
// Currency
|
||||
ddlCurrency.Items.Clear();
|
||||
CurrencyArrayResultObject cres = ES.Services.CRM.GetCurrencyByServiceId(PanelRequest.ServiceId);
|
||||
if (cres.IsSuccess)
|
||||
{
|
||||
foreach (Currency currency in cres.Value)
|
||||
{
|
||||
ListItem item = new ListItem(string.Format("{0} ({1})",
|
||||
currency.RegionName, currency.CurrencyName),
|
||||
string.Join("|",
|
||||
new string[]
|
||||
{
|
||||
currency.CurrencyCode, currency.CurrencyName,
|
||||
currency.CurrencySymbol, currency.RegionName
|
||||
}));
|
||||
|
||||
ddlCurrency.Items.Add(item);
|
||||
}
|
||||
Utils.SelectListItem(ddlCurrency, "USD|US Dollar|$|United States"); // default
|
||||
}
|
||||
Utils.SelectListItem(ddlCurrency, settings[Constants.Currency]);
|
||||
|
||||
// Base Language
|
||||
ddlBaseLanguage.Items.Clear();
|
||||
int[] langPacksId = ES.Services.CRM.GetInstalledLanguagePacksByServiceId(PanelRequest.ServiceId);
|
||||
if (langPacksId != null)
|
||||
{
|
||||
foreach (int langId in langPacksId)
|
||||
{
|
||||
CultureInfo ci = CultureInfo.GetCultureInfo(langId);
|
||||
ListItem item = new ListItem(ci.EnglishName, langId.ToString());
|
||||
ddlBaseLanguage.Items.Add(item);
|
||||
}
|
||||
Utils.SelectListItem(ddlBaseLanguage, "1033"); // default
|
||||
}
|
||||
Utils.SelectListItem(ddlBaseLanguage, settings[Constants.BaseLanguage]);
|
||||
}
|
||||
|
||||
public void SaveSettings(System.Collections.Specialized.StringDictionary settings)
|
||||
|
@ -97,6 +147,11 @@ namespace WebsitePanel.Portal.ProviderControls
|
|||
}
|
||||
|
||||
settings[Constants.UrlSchema] = ddlSchema.SelectedValue;
|
||||
|
||||
settings[Constants.Collation] = ddlCollation.SelectedValue;
|
||||
settings[Constants.Currency] = ddlCurrency.SelectedValue;
|
||||
settings[Constants.BaseLanguage] = ddlBaseLanguage.SelectedValue;
|
||||
|
||||
}
|
||||
|
||||
private static int FindAddressByText(string address)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// Copyright (c) 2014, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
|
@ -35,7 +35,6 @@
|
|||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
namespace WebsitePanel.Portal.ProviderControls {
|
||||
|
||||
|
||||
|
@ -166,5 +165,32 @@ namespace WebsitePanel.Portal.ProviderControls {
|
|||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtPassword;
|
||||
|
||||
/// <summary>
|
||||
/// ddlCurrency 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.DropDownList ddlCurrency;
|
||||
|
||||
/// <summary>
|
||||
/// ddlCollation 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.DropDownList ddlCollation;
|
||||
|
||||
/// <summary>
|
||||
/// ddlBaseLanguage 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.DropDownList ddlBaseLanguage;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -210,6 +210,13 @@
|
|||
<Compile Include="Code\ReportingServices\IResourceStorage.cs" />
|
||||
<Compile Include="Code\ReportingServices\ReportingServicesUtils.cs" />
|
||||
<Compile Include="Code\UserControls\Tab.cs" />
|
||||
<Compile Include="CRM\CRMStorageSettings.ascx.cs">
|
||||
<DependentUpon>CRMStorageSettings.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CRM\CRMStorageSettings.ascx.designer.cs">
|
||||
<DependentUpon>CRMStorageSettings.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ExchangeServer\EnterpriseStorageFolderGeneralSettings.ascx.cs">
|
||||
<DependentUpon>EnterpriseStorageFolderGeneralSettings.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -4037,6 +4044,7 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="ApplyEnableHardQuotaFeature.ascx" />
|
||||
<Content Include="CRM\CRMStorageSettings.ascx" />
|
||||
<Content Include="ExchangeServer\EnterpriseStorageFolderGeneralSettings.ascx" />
|
||||
<Content Include="ExchangeServer\EnterpriseStorageCreateFolder.ascx" />
|
||||
<Content Include="ExchangeServer\EnterpriseStorageFolders.ascx" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue