public void CollectFormData() { groups = new List <HostingPlanGroupInfo>(); quotas = new List <HostingPlanQuotaInfo>(); // gather info foreach (RepeaterItem item in dlGroups.Items) { Literal litGroupId = (Literal)item.FindControl("groupId"); CheckBox chkEnabled = (CheckBox)item.FindControl("chkEnabled"); CheckBox chkCountDiskspace = (CheckBox)item.FindControl("chkCountDiskspace"); CheckBox chkCountBandwidth = (CheckBox)item.FindControl("chkCountBandwidth"); if (!chkEnabled.Checked) { continue; // disabled group } HostingPlanGroupInfo group = new HostingPlanGroupInfo(); group.GroupId = Utils.ParseInt(litGroupId.Text, 0); group.Enabled = chkEnabled.Checked; group.CalculateDiskSpace = chkCountDiskspace.Checked; group.CalculateBandwidth = chkCountBandwidth.Checked; groups.Add(group); // iterate quotas DataList dlQuotas = (DataList)item.FindControl("dlQuotas"); foreach (DataListItem quotaItem in dlQuotas.Items) { QuotaEditor quotaEditor = (QuotaEditor)quotaItem.FindControl("quotaEditor"); HostingPlanQuotaInfo quota = new HostingPlanQuotaInfo(); quota.QuotaId = quotaEditor.QuotaId; quota.QuotaValue = quotaEditor.QuotaValue; quotas.Add(quota); } } }
private int AddHostingPlan(string name, int serverId) { try { Log.WriteStart("Adding hosting plan"); // gather form info HostingPlanInfo plan = new HostingPlanInfo(); plan.UserId = 1; plan.PlanId = 0; plan.IsAddon = false; plan.PlanName = name; plan.PlanDescription = ""; plan.Available = true; // always available plan.SetupPrice = 0; plan.RecurringPrice = 0; plan.RecurrenceLength = 1; plan.RecurrenceUnit = 2; // month plan.PackageId = 0; plan.ServerId = serverId; List <HostingPlanGroupInfo> groups = new List <HostingPlanGroupInfo>(); List <HostingPlanQuotaInfo> quotas = new List <HostingPlanQuotaInfo>(); DataSet ds = ES.Services.Packages.GetHostingPlanQuotas(-1, 0, serverId); foreach (DataRow groupRow in ds.Tables[0].Rows) { bool enabled = (bool)groupRow["ParentEnabled"]; if (!enabled) { continue; // disabled group } int groupId = (int)groupRow["GroupId"];; HostingPlanGroupInfo group = new HostingPlanGroupInfo(); group.GroupId = groupId; group.Enabled = true; group.GroupName = Convert.ToString(groupRow["GroupName"]); group.CalculateDiskSpace = (bool)groupRow["CalculateDiskSpace"]; group.CalculateBandwidth = (bool)groupRow["CalculateBandwidth"]; groups.Add(group); DataView dvQuotas = new DataView(ds.Tables[1], "GroupID=" + group.GroupId.ToString(), "", DataViewRowState.CurrentRows); List <HostingPlanQuotaInfo> groupQuotas = GetGroupQuotas(groupId, dvQuotas); quotas.AddRange(groupQuotas); } plan.Groups = groups.ToArray(); plan.Quotas = quotas.ToArray(); // Add Web Deploy publishing support if enabled by default if (Utils.IsWebDeployInstalled()) { var resGroupWeb = Array.Find(plan.Groups, x => x.GroupName.Equals(ResourceGroups.Web, StringComparison.OrdinalIgnoreCase)); // if (resGroupWeb != null) { EnableRemoteManagementQuota(quotas, new DataView(ds.Tables[1], String.Format("GroupID = {0}", resGroupWeb.GroupId), "", DataViewRowState.CurrentRows)); } } int planId = ES.Services.Packages.AddHostingPlan(plan); if (planId > 0) { Log.WriteEnd("Added hosting plan"); } else { Log.WriteError(string.Format("Enterprise Server error: {0}", planId)); } return(planId); } catch (Exception ex) { if (!Utils.IsThreadAbortException(ex)) { Log.WriteError("Hosting plan configuration error", ex); } return(-1); } }
private int AddHostingPlan(string name, int serverId) { try { Log.WriteStart("Adding hosting plan"); // gather form info HostingPlanInfo plan = new HostingPlanInfo(); plan.UserId = 1; plan.PlanId = 0; plan.IsAddon = false; plan.PlanName = name; plan.PlanDescription = ""; plan.Available = true; // always available plan.SetupPrice = 0; plan.RecurringPrice = 0; plan.RecurrenceLength = 1; plan.RecurrenceUnit = 2; // month plan.PackageId = 0; plan.ServerId = serverId; List <HostingPlanGroupInfo> groups = new List <HostingPlanGroupInfo>(); List <HostingPlanQuotaInfo> quotas = new List <HostingPlanQuotaInfo>(); DataSet ds = ES.Services.Packages.GetHostingPlanQuotas(-1, 0, serverId); foreach (DataRow groupRow in ds.Tables[0].Rows) { bool enabled = (bool)groupRow["ParentEnabled"]; if (!enabled) { continue; // disabled group } int groupId = (int)groupRow["GroupId"];; HostingPlanGroupInfo group = new HostingPlanGroupInfo(); group.GroupId = groupId; group.Enabled = true; group.CalculateDiskSpace = (bool)groupRow["CalculateDiskSpace"]; group.CalculateBandwidth = (bool)groupRow["CalculateBandwidth"]; groups.Add(group); DataView dvQuotas = new DataView(ds.Tables[1], "GroupID=" + group.GroupId.ToString(), "", DataViewRowState.CurrentRows); List <HostingPlanQuotaInfo> groupQuotas = GetGroupQuotas(groupId, dvQuotas); quotas.AddRange(groupQuotas); } plan.Groups = groups.ToArray(); plan.Quotas = quotas.ToArray(); int planId = ES.Services.Packages.AddHostingPlan(plan); if (planId > 0) { Log.WriteEnd("Added hosting plan"); } else { Log.WriteError(string.Format("Enterprise Server error: {0}", planId)); } return(planId); } catch (Exception ex) { if (!Utils.IsThreadAbortException(ex)) { Log.WriteError("Hosting plan configuration error", ex); } return(-1); } }