diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs index 37e70846..2e6bc7bb 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs @@ -412,33 +412,52 @@ namespace WebsitePanel.EnterpriseServer public static bool CheckLoadUserProfile(int serverId) { - int packageId = getIISPackageId(); - if (packageId != -1) + int serviceId = getWebServiceId(serverId); + if (serviceId != -1) { - int serviceId = DataProvider.GetServiceIdByProviderForServer(packageId, serverId); return WebServerController.GetWebServer(serviceId).CheckLoadUserProfile(); } return false; } - private static int getIISPackageId() + private static int getWebServiceId(int serverId) { - int packageId = DataProvider.GetPackageIdByName("IIS80"); - if (packageId == -1) - packageId = DataProvider.GetPackageIdByName("IIS70"); - if (packageId == -1) - packageId = DataProvider.GetPackageIdByName("IIS60"); + DataSet dsServices = ServerController.GetRawServicesByServerId(serverId); + int webGroup = -1; + + if (dsServices.Tables.Count < 1) return -1; - return packageId; + foreach (DataRow r in dsServices.Tables[0].Rows) + { + if (r["GroupName"].ToString() == "Web") + { + webGroup = (int)r["GroupID"]; + break; + } + } + + if (webGroup == -1) return -1; + + foreach (DataRow r in dsServices.Tables[1].Rows) + { + if ((int)r["GroupID"] == webGroup) + { + return (int)r["ServiceID"]; + } + } + + return -1; } + + + public static void EnableLoadUserProfile(int serverId) { - int packageId = getIISPackageId(); - if (packageId != -1) + int serviceId = getWebServiceId(serverId); + if (serviceId != -1) { - int serviceId = DataProvider.GetServiceIdByProviderForServer(packageId, serverId); WebServerController.GetWebServer(serviceId).EnableLoadUserProfile(); } }