public int UpdateVirtualGroups(int serverId, VirtualGroupInfo[] groups) { return ServerController.UpdateVirtualGroups(serverId, groups); }
private void UpdateServer() { if (!Page.IsValid) return; ServerInfo server = new ServerInfo(); // header server.ServerId = PanelRequest.ServerId; server.ServerName = txtName.Text; server.Comments = txtComments.Text; server.PrimaryGroupId = Utils.ParseInt(ddlPrimaryGroup.SelectedValue, 0); // instant alias server.InstantDomainAlias = txtInstantAlias.Text; // gather groups info List<VirtualGroupInfo> groups = new List<VirtualGroupInfo>(); for (int i = 0; i < dlServiceGroups.Items.Count; i++) { int groupId = (int)dlServiceGroups.DataKeys[i]; DataListItem item = dlServiceGroups.Items[i]; CheckBox chkBind = (CheckBox)item.FindControl("chkBind"); DropDownList ddlDistType = (DropDownList)item.FindControl("ddlDistType"); Control rowBound = item.FindControl("rowBound"); VirtualGroupInfo group = new VirtualGroupInfo(); group.GroupId = groupId; group.DistributionType = Utils.ParseInt(ddlDistType.SelectedValue, 0); group.BindDistributionToPrimary = chkBind.Checked && rowBound.Visible; groups.Add(group); } try { // update server int result = ES.Services.Servers.UpdateServer(server); if (result < 0) { ShowResultMessage(result); return; } // update groups result = ES.Services.Servers.UpdateVirtualGroups(PanelRequest.ServerId, groups.ToArray()); if (result < 0) { ShowResultMessage(result); return; } } catch (Exception ex) { ShowErrorMessage("VSERVER_UPDATE_SERVER", ex); return; } // return to browse page RedirectToBrowsePage(); }
public static int UpdateVirtualGroups(int serverId, VirtualGroupInfo[] groups) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsAdmin | DemandAccount.IsActive); if (accountCheck < 0) return accountCheck; /* XML Format: <groups> <group id="16" distributionType="1" bindDistributionToPrimary="1"/> </groups> */ // build XML XmlDocument doc = new XmlDocument(); XmlElement nodeGroups = doc.CreateElement("groups"); // groups if (groups != null) { foreach (VirtualGroupInfo group in groups) { XmlElement nodeGroup = doc.CreateElement("group"); nodeGroups.AppendChild(nodeGroup); nodeGroup.SetAttribute("id", group.GroupId.ToString()); nodeGroup.SetAttribute("distributionType", group.DistributionType.ToString()); nodeGroup.SetAttribute("bindDistributionToPrimary", group.BindDistributionToPrimary ? "1" : "0"); } } string xml = nodeGroups.OuterXml; // update server DataProvider.UpdateVirtualGroups(serverId, xml); return 0; }
/// <remarks/> public void UpdateVirtualGroupsAsync(int serverId, VirtualGroupInfo[] groups, object userState) { if ((this.UpdateVirtualGroupsOperationCompleted == null)) { this.UpdateVirtualGroupsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateVirtualGroupsOperationCompleted); } this.InvokeAsync("UpdateVirtualGroups", new object[] { serverId, groups}, this.UpdateVirtualGroupsOperationCompleted, userState); }
/// <remarks/> public void UpdateVirtualGroupsAsync(int serverId, VirtualGroupInfo[] groups) { this.UpdateVirtualGroupsAsync(serverId, groups, null); }
/// <remarks/> public System.IAsyncResult BeginUpdateVirtualGroups(int serverId, VirtualGroupInfo[] groups, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("UpdateVirtualGroups", new object[] { serverId, groups}, callback, asyncState); }
public int UpdateVirtualGroups(int serverId, VirtualGroupInfo[] groups) { object[] results = this.Invoke("UpdateVirtualGroups", new object[] { serverId, groups}); return ((int)(results[0])); }