示例#1
0
		private void PopulateSpaces(DataNode parentNode)
		{
			UserInfo info = parentNode.Tag as UserInfo;
			DataSet ds = null;
			try
			{
				ds = PackageController.GetRawMyPackages(info.UserId);
			}
			catch(Exception ex)
			{
				ShowError("Unable to load spaces.", ex);
			}
			if (ds != null)
			{
				foreach (DataRow dr in ds.Tables[0].Rows)
				{
					PackageInfo data = new PackageInfo();
					data.PackageId = Utils.GetDbInt32(dr["PackageId"]);
					data.PackageName = Utils.GetDbString(dr["PackageName"]);
					data.UserId = Utils.GetDbInt32(dr["UserId"]);
					AddTreeNode(parentNode, data.PackageName, 3, SPACE, data, false);
				}
			}

		}
示例#2
0
		private void LoadSpaceData(PackageInfo packageInfo)
		{
			int serviceId = PackageController.GetPackageServiceId(packageInfo.PackageId, ResourceGroups.HostedOrganizations);
			ServiceInfo serviceInfo = ServerController.GetServiceInfo(serviceId);
			StringDictionary serviceSettings = ServerController.GetServiceSettingsAdmin(serviceId);
			Global.RootOU = serviceSettings["RootOU"];
			Global.PrimaryDomainController = serviceSettings["PrimaryDomainController"];
			Global.TempDomain = serviceSettings["TempDomain"];
			ServerInfo serverInfo = ServerController.GetServerById(serviceInfo.ServerId);
			Global.ADRootDomain = serverInfo.ADRootDomain;
		}
示例#3
0
 public PackageResult UpdatePackage(PackageInfo package)
 {
     return PackageController.UpdatePackage(package);
 }
示例#4
0
        public PackageResult UpdatePackageLiteral(
                    int packageId,
		            int statusId,
		            int planId,
		            DateTime purchaseDate,
		            string packageName,
		            string packageComments)
        {
            PackageInfo p = new PackageInfo();
            p.PackageId = packageId;
            p.StatusId = statusId;
            p.PlanId = planId;
            p.PurchaseDate = purchaseDate;
            p.PackageName = packageName;
            p.PackageComments = packageComments;
            return PackageController.UpdatePackage(p);
        }
示例#5
0
        public static int CheckPackage(PackageInfo package, DemandPackage demand)
        {
            if ((demand & DemandPackage.IsActive) == DemandPackage.IsActive)
            {
                // should make a check if the package is active
                if (package.StatusId == (int)PackageStatus.Cancelled)
                    return BusinessErrorCodes.ERROR_PACKAGE_CANCELLED;
                else if (package.StatusId == (int)PackageStatus.Suspended)
                    return BusinessErrorCodes.ERROR_PACKAGE_SUSPENDED;
            }

            return 0;
        }
        public static PackageResult UpdatePackage(PackageInfo package)
        {
            TaskManager.StartTask("HOSTING_SPACE", "UPDATE", package.PackageName);

            PackageResult result = new PackageResult();

            try
            {
                // check account
                result.Result = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive
                    | DemandAccount.IsReseller);
                if (result.Result < 0) return result;

                // load package
                PackageInfo originalPackage = GetPackage(package.PackageId);
                if (originalPackage == null)
                {
                    result.Result = BusinessErrorCodes.ERROR_PACKAGE_NOT_FOUND;
                    return result;
                }

                string quotasXml = BuildPlanQuotasXml(package.Groups, package.Quotas);

                // update package
                result.ExceedingQuotas = DataProvider.UpdatePackage(SecurityContext.User.UserId,
                    package.PackageId, package.PlanId, package.PackageName, package.PackageComments, package.StatusId,
                    package.PurchaseDate, package.OverrideQuotas, quotasXml);

                if (result.ExceedingQuotas.Tables[0].Rows.Count > 0)
                    result.Result = BusinessErrorCodes.ERROR_PACKAGE_QUOTA_EXCEED;
            }
            finally
            {
                TaskManager.CompleteTask();
            }

            return result;
        }
        private void SaveSpace()
        {
            if (!Page.IsValid)
                return;

            // gather form data
            PackageInfo package = new PackageInfo();

            // load package for update
            if (PanelSecurity.PackageId > 0)
                package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId);

            package.PackageId = PanelSecurity.PackageId;
            package.PackageName = Server.HtmlEncode(txtName.Text);
            package.PackageComments = Server.HtmlEncode(txtComments.Text);
            package.PlanId = Utils.ParseInt(ddlPlan.SelectedValue, 0);
            package.PurchaseDate = PurchaseDate.SelectedDate;

            package.OverrideQuotas = rbPackageQuotas.Checked;
            if (package.OverrideQuotas)
            {
                package.Groups = editPackageQuotas.Groups;
                package.Quotas = editPackageQuotas.Quotas;
            }

            try
            {
                // update existing package
                PackageResult result = ES.Services.Packages.UpdatePackage(package);
                if (result.Result < 0)
                {
                    ShowResultMessage(result.Result);
                    lblMessage.Text = AntiXss.HtmlEncode(GetExceedingQuotasMessage(result.ExceedingQuotas));
                    return;
                }
            }
            catch (Exception ex)
            {
                ShowErrorMessage("PACKAGE_UPDATE_PACKAGE", ex);
                return;
            }

            // return
            RedirectSpaceHomePage();
        }
示例#8
0
 /// <remarks/>
 public void UpdatePackageAsync(PackageInfo package, object userState) {
     if ((this.UpdatePackageOperationCompleted == null)) {
         this.UpdatePackageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdatePackageOperationCompleted);
     }
     this.InvokeAsync("UpdatePackage", new object[] {
                 package}, this.UpdatePackageOperationCompleted, userState);
 }
示例#9
0
 /// <remarks/>
 public void UpdatePackageAsync(PackageInfo package) {
     this.UpdatePackageAsync(package, null);
 }
示例#10
0
 /// <remarks/>
 public System.IAsyncResult BeginUpdatePackage(PackageInfo package, System.AsyncCallback callback, object asyncState) {
     return this.BeginInvoke("UpdatePackage", new object[] {
                 package}, callback, asyncState);
 }
示例#11
0
 public PackageResult UpdatePackage(PackageInfo package) {
     object[] results = this.Invoke("UpdatePackage", new object[] {
                 package});
     return ((PackageResult)(results[0]));
 }