Changeset 965


Ignore:
Timestamp:
12/11/08 15:38:45 (12 years ago)
Author:
svonolfe
Message:

Implemented ClientGroupAdapter (#372)

Location:
trunk/sources
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ClientAdapter.cs

    r948 r965  
    4545
    4646        return resAdapter;
     47      }
     48    }
     49
     50    private IClientGroupAdapter clientGroupAdapter = null;
     51
     52    private IClientGroupAdapter ClientGroupAdapter {
     53      get {
     54        if (clientGroupAdapter == null) {
     55          clientGroupAdapter = ServiceLocator.GetClientGroupAdapter();
     56        }
     57
     58        return clientGroupAdapter;
    4759      }
    4860    }
     
    159171    }
    160172
     173    public ClientInfo GetClientById(long id) {
     174      ClientInfo client = new ClientInfo();
     175
     176      dsHiveServer.ClientRow row = data.FindByResourceId(id);
     177
     178      if (row != null) {
     179        Convert(row, client);
     180
     181        return client;
     182      } else {
     183        return null;
     184      }
     185    }
     186
    161187    public ICollection<ClientInfo> GetAllClients() {
    162188      ICollection<ClientInfo> allClients =
     
    173199
    174200    [MethodImpl(MethodImplOptions.Synchronized)]
    175     public bool DeleteClient(ClientInfo client) {
     201    public bool DeleteClient(ClientInfo client) {     
    176202      if (client != null) {
    177203        dsHiveServer.ClientRow row = null;
     
    185211
    186212        if (row != null) {
     213          ICollection<ClientGroup> clientGroups =
     214            ClientGroupAdapter.MemberOf(client);
     215
     216          foreach (ClientGroup group in clientGroups) {
     217            group.Resources.Remove(client);
     218            ClientGroupAdapter.UpdateClientGroup(group);
     219          }
     220
    187221          data.RemoveClientRow(row);
    188222
  • trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/ClientGroupAdapter.cs

    r910 r965  
    2727using HeuristicLab.Hive.Server.Core.InternalInterfaces.DataAccess;
    2828using HeuristicLab.Hive.Contracts.BusinessObjects;
     29using System.Runtime.CompilerServices;
     30using System.Data;
    2931
    3032namespace HeuristicLab.Hive.Server.ADODataAccess {
    31   class ClientGroupAdapter: IClientGroupAdapter {
     33  class ClientGroupAdapter : DataAdapterBase, IClientGroupAdapter {
     34    private dsHiveServerTableAdapters.ClientGroupTableAdapter adapter =
     35        new dsHiveServerTableAdapters.ClientGroupTableAdapter();
     36
     37    private dsHiveServer.ClientGroupDataTable data =
     38      new dsHiveServer.ClientGroupDataTable();
     39
     40    private dsHiveServerTableAdapters.ClientGroup_ResourceTableAdapter resourceClientGroupAdapter =
     41      new dsHiveServerTableAdapters.ClientGroup_ResourceTableAdapter();
     42
     43    private dsHiveServer.ClientGroup_ResourceDataTable resourceClientGroupData =
     44      new dsHiveServer.ClientGroup_ResourceDataTable();
     45
     46    private IResourceAdapter resourceAdapter = null;
     47
     48    private IResourceAdapter ResourceAdapter {
     49      get {
     50        if (resourceAdapter == null)
     51          resourceAdapter = ServiceLocator.GetResourceAdapter();
     52
     53        return resourceAdapter;
     54      }
     55    }
     56
     57    private IClientAdapter clientAdapter = null;
     58
     59    private IClientAdapter ClientAdapter {
     60      get {
     61        if (clientAdapter == null)
     62          clientAdapter = ServiceLocator.GetClientAdapter();
     63
     64        return clientAdapter;
     65      }
     66    }
     67
     68    public ClientGroupAdapter() {
     69      adapter.Fill(data);
     70      resourceClientGroupAdapter.Fill(resourceClientGroupData);
     71    }
     72
     73    protected override void Update() {
     74      this.adapter.Update(this.data);
     75      this.resourceClientGroupAdapter.Update(resourceClientGroupData);
     76    }
     77
     78    private ClientGroup Convert(dsHiveServer.ClientGroupRow row,
     79      ClientGroup clientGroup) {
     80      if (row != null && clientGroup != null) {
     81        /*Parent - Permission Owner*/
     82        clientGroup.ResourceId = row.ResourceId;
     83        ResourceAdapter.GetResourceById(clientGroup);
     84
     85        //first check for created references
     86        IEnumerable<dsHiveServer.ClientGroup_ResourceRow> clientGroupRows =
     87          from resource in
     88            resourceClientGroupData.AsEnumerable<dsHiveServer.ClientGroup_ResourceRow>()
     89          where resource.ClientGroupResource == clientGroup.ResourceId
     90          select resource;
     91
     92        foreach (dsHiveServer.ClientGroup_ResourceRow resourceClientGroupRow in
     93          clientGroupRows) {
     94          Resource resource = null;
     95
     96          IEnumerable<Resource> resources =
     97            from p in
     98              clientGroup.Resources
     99            where p.ResourceId == resourceClientGroupRow.ResourceId
     100            select p;
     101          if (resources.Count<Resource>() == 1)
     102            resource = resources.First<Resource>();
     103
     104          if (resource == null) {
     105            Resource res =
     106              ClientAdapter.GetClientById(resourceClientGroupRow.ResourceId);
     107
     108            if (res == null) {
     109              //is a client group
     110              res =
     111                GetClientGroupById(resourceClientGroupRow.ResourceId);
     112            }
     113
     114            if (res != null)
     115              clientGroup.Resources.Add(res);
     116          }
     117        }
     118
     119        //secondly check for deleted references
     120        ICollection<Resource> deleted =
     121          new List<Resource>();
     122
     123        foreach (Resource resource in clientGroup.Resources) {
     124          dsHiveServer.ClientGroup_ResourceRow permOwnerUserGroupRow =
     125            resourceClientGroupData.FindByClientGroupResourceResourceId(
     126              clientGroup.ResourceId,
     127              resource.ResourceId);
     128
     129          if (permOwnerUserGroupRow == null) {
     130            deleted.Add(resource);
     131          }
     132        }
     133
     134        foreach (Resource resource in deleted) {
     135          clientGroup.Resources.Remove(resource);
     136        }
     137
     138        return clientGroup;
     139      } else
     140        return null;
     141    }
     142
     143    private dsHiveServer.ClientGroupRow Convert(ClientGroup clientGroup,
     144      dsHiveServer.ClientGroupRow row) {
     145      if (clientGroup != null && row != null) {
     146        row.ResourceId = clientGroup.ResourceId;
     147
     148        //update references
     149        foreach (Resource resource in clientGroup.Resources) {
     150          //first update the member to make sure it exists in the DB
     151          if (resource is ClientInfo) {
     152            ClientAdapter.UpdateClient(resource as ClientInfo);
     153          } else if (resource is ClientGroup) {
     154            UpdateClientGroup(resource as ClientGroup);
     155          }
     156
     157          //secondly check for created references
     158          dsHiveServer.ClientGroup_ResourceRow resourceClientGroupRow =
     159            resourceClientGroupData.FindByClientGroupResourceResourceId(
     160                            clientGroup.ResourceId,
     161                            resource.ResourceId);
     162
     163          if (resourceClientGroupRow == null) {
     164            resourceClientGroupRow =
     165              resourceClientGroupData.NewClientGroup_ResourceRow();
     166
     167            resourceClientGroupRow.ResourceId =
     168              resource.ResourceId;
     169            resourceClientGroupRow.ClientGroupResource =
     170              clientGroup.ResourceId;
     171
     172            resourceClientGroupData.AddClientGroup_ResourceRow(
     173              resourceClientGroupRow);
     174          }
     175        }
     176
     177        //thirdly check for deleted references
     178        IEnumerable<dsHiveServer.ClientGroup_ResourceRow> clientGroupRows =
     179          from permOwner in
     180            resourceClientGroupData.AsEnumerable<dsHiveServer.ClientGroup_ResourceRow>()
     181          where permOwner.ClientGroupResource == clientGroup.ResourceId
     182          select permOwner;
     183
     184        ICollection<dsHiveServer.ClientGroup_ResourceRow> deleted =
     185          new List<dsHiveServer.ClientGroup_ResourceRow>();
     186
     187        foreach (dsHiveServer.ClientGroup_ResourceRow resourceClientGroupRow in
     188          clientGroupRows) {
     189          Resource resource = null;
     190
     191          IEnumerable<Resource> resources =
     192            from r in
     193              clientGroup.Resources
     194            where r.ResourceId == resourceClientGroupRow.ResourceId
     195            select r;
     196
     197          if (resources.Count<Resource>() == 1)
     198            resource = resources.First<Resource>();
     199
     200          if (resource == null) {
     201            deleted.Add(resourceClientGroupRow);
     202          }
     203        }
     204
     205        foreach (dsHiveServer.ClientGroup_ResourceRow resoruceClientGroupRow in
     206          deleted) {
     207          resourceClientGroupData.RemoveClientGroup_ResourceRow(
     208            resoruceClientGroupRow);
     209        }
     210
     211      }
     212
     213      return row;
     214    }
     215
    32216    #region IClientGroupAdapter Members
    33 
     217    [MethodImpl(MethodImplOptions.Synchronized)]
    34218    public void UpdateClientGroup(ClientGroup group) {
    35       throw new NotImplementedException();
     219      if (group != null) {
     220        ResourceAdapter.UpdateResource(group);
     221
     222        dsHiveServer.ClientGroupRow row =
     223          data.FindByResourceId(group.ResourceId);
     224
     225        if (row == null) {
     226          row = data.NewClientGroupRow();
     227          row.ResourceId = group.ResourceId;
     228          data.AddClientGroupRow(row);
     229        }
     230
     231        Convert(group, row);
     232      }
    36233    }
    37234
    38235    public ClientGroup GetClientGroupById(long clientGroupId) {
    39       throw new NotImplementedException();
     236      ClientGroup clientGroup = new ClientGroup();
     237
     238      dsHiveServer.ClientGroupRow row =
     239        data.FindByResourceId(clientGroupId);
     240
     241      if (row != null) {
     242        Convert(row, clientGroup);
     243
     244        return clientGroup;
     245      } else {
     246        return null;
     247      }
    40248    }
    41249
    42250    public ICollection<ClientGroup> GetAllClientGroups() {
    43       throw new NotImplementedException();
    44     }
    45 
     251      ICollection<ClientGroup> allClientGroups =
     252        new List<ClientGroup>();
     253
     254      foreach (dsHiveServer.ClientGroupRow row in data) {
     255        ClientGroup clientGroup = new ClientGroup();
     256
     257        Convert(row, clientGroup);
     258        allClientGroups.Add(clientGroup);
     259      }
     260
     261      return allClientGroups;
     262    }
     263
     264    public ICollection<ClientGroup> MemberOf(Resource resource) {
     265      ICollection<ClientGroup> clientGroups =
     266        new List<ClientGroup>();
     267
     268      if (resource != null) {
     269        IEnumerable<dsHiveServer.ClientGroup_ResourceRow> clientGroupRows =
     270         from clientGroup in
     271           resourceClientGroupData.AsEnumerable<dsHiveServer.ClientGroup_ResourceRow>()
     272         where clientGroup.ResourceId == resource.ResourceId
     273         select clientGroup;
     274
     275        foreach (dsHiveServer.ClientGroup_ResourceRow clientGroupRow in
     276          clientGroupRows) {
     277          ClientGroup clientGroup =
     278            GetClientGroupById(clientGroupRow.ClientGroupResource);
     279          clientGroups.Add(clientGroup);
     280        }
     281      }
     282
     283      return clientGroups;
     284    }
     285
     286    [MethodImpl(MethodImplOptions.Synchronized)]
    46287    public bool DeleteClientGroup(ClientGroup group) {
    47       throw new NotImplementedException();
     288      if (group != null) {
     289        dsHiveServer.ClientGroupRow row =
     290          data.FindByResourceId(group.ResourceId);
     291
     292        if (row != null) {
     293          ICollection<dsHiveServer.ClientGroup_ResourceRow> deleted =
     294            new List<dsHiveServer.ClientGroup_ResourceRow>();
     295
     296          foreach (dsHiveServer.ClientGroup_ResourceRow resourceClientGroupRow in
     297            resourceClientGroupData) {
     298            if (resourceClientGroupRow.ClientGroupResource == group.ResourceId ||
     299              resourceClientGroupRow.ResourceId == group.ResourceId) {
     300              deleted.Add(resourceClientGroupRow);
     301            }
     302          }
     303
     304          foreach (dsHiveServer.ClientGroup_ResourceRow resourceClientGroupRow in
     305            deleted) {
     306            resourceClientGroupData.RemoveClientGroup_ResourceRow(
     307              resourceClientGroupRow);
     308          }
     309
     310          data.RemoveClientGroupRow(row);
     311          return ResourceAdapter.DeleteResource(group);
     312        }
     313      }
     314
     315      return false;
    48316    }
    49317
  • trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/UserGroupAdapter.cs

    r948 r965  
    112112            }
    113113
    114             userGroup.Members.Add(permissionOwner);
     114            if(permissionOwner != null)
     115              userGroup.Members.Add(permissionOwner);
    115116          }
    116117        }
  • trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.Designer.cs

    r936 r965  
    3838        private PermissionOwner_UserGroupDataTable tablePermissionOwner_UserGroup;
    3939       
     40        private ClientGroupDataTable tableClientGroup;
     41       
     42        private ClientGroup_ResourceDataTable tableClientGroup_Resource;
     43       
    4044        private global::System.Data.DataRelation relationClient_is_a_Resource;
    4145       
     
    4751       
    4852        private global::System.Data.DataRelation relationR_57;
     53       
     54        private global::System.Data.DataRelation relationClientGroup_is_a_Resource;
     55       
     56        private global::System.Data.DataRelation relationR_52;
     57       
     58        private global::System.Data.DataRelation relationR_59;
    4959       
    5060        private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
     
    92102                    base.Tables.Add(new PermissionOwner_UserGroupDataTable(ds.Tables["PermissionOwner_UserGroup"]));
    93103                }
     104                if ((ds.Tables["ClientGroup"] != null)) {
     105                    base.Tables.Add(new ClientGroupDataTable(ds.Tables["ClientGroup"]));
     106                }
     107                if ((ds.Tables["ClientGroup_Resource"] != null)) {
     108                    base.Tables.Add(new ClientGroup_ResourceDataTable(ds.Tables["ClientGroup_Resource"]));
     109                }
    94110                this.DataSetName = ds.DataSetName;
    95111                this.Prefix = ds.Prefix;
     
    165181       
    166182        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     183        [global::System.ComponentModel.Browsable(false)]
     184        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
     185        public ClientGroupDataTable ClientGroup {
     186            get {
     187                return this.tableClientGroup;
     188            }
     189        }
     190       
     191        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     192        [global::System.ComponentModel.Browsable(false)]
     193        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
     194        public ClientGroup_ResourceDataTable ClientGroup_Resource {
     195            get {
     196                return this.tableClientGroup_Resource;
     197            }
     198        }
     199       
     200        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    167201        [global::System.ComponentModel.BrowsableAttribute(true)]
    168202        [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)]
     
    240274                if ((ds.Tables["PermissionOwner_UserGroup"] != null)) {
    241275                    base.Tables.Add(new PermissionOwner_UserGroupDataTable(ds.Tables["PermissionOwner_UserGroup"]));
     276                }
     277                if ((ds.Tables["ClientGroup"] != null)) {
     278                    base.Tables.Add(new ClientGroupDataTable(ds.Tables["ClientGroup"]));
     279                }
     280                if ((ds.Tables["ClientGroup_Resource"] != null)) {
     281                    base.Tables.Add(new ClientGroup_ResourceDataTable(ds.Tables["ClientGroup_Resource"]));
    242282                }
    243283                this.DataSetName = ds.DataSetName;
     
    307347                }
    308348            }
     349            this.tableClientGroup = ((ClientGroupDataTable)(base.Tables["ClientGroup"]));
     350            if ((initTable == true)) {
     351                if ((this.tableClientGroup != null)) {
     352                    this.tableClientGroup.InitVars();
     353                }
     354            }
     355            this.tableClientGroup_Resource = ((ClientGroup_ResourceDataTable)(base.Tables["ClientGroup_Resource"]));
     356            if ((initTable == true)) {
     357                if ((this.tableClientGroup_Resource != null)) {
     358                    this.tableClientGroup_Resource.InitVars();
     359                }
     360            }
    309361            this.relationClient_is_a_Resource = this.Relations["Client_is_a_Resource"];
    310362            this.relationUser_is_a_PermissionOwner = this.Relations["User_is_a_PermissionOwner"];
     
    312364            this.relationR_44 = this.Relations["R_44"];
    313365            this.relationR_57 = this.Relations["R_57"];
     366            this.relationClientGroup_is_a_Resource = this.Relations["ClientGroup_is_a_Resource"];
     367            this.relationR_52 = this.Relations["R_52"];
     368            this.relationR_59 = this.Relations["R_59"];
    314369        }
    315370       
     
    333388            this.tablePermissionOwner_UserGroup = new PermissionOwner_UserGroupDataTable();
    334389            base.Tables.Add(this.tablePermissionOwner_UserGroup);
     390            this.tableClientGroup = new ClientGroupDataTable();
     391            base.Tables.Add(this.tableClientGroup);
     392            this.tableClientGroup_Resource = new ClientGroup_ResourceDataTable();
     393            base.Tables.Add(this.tableClientGroup_Resource);
    335394            this.relationClient_is_a_Resource = new global::System.Data.DataRelation("Client_is_a_Resource", new global::System.Data.DataColumn[] {
    336395                        this.tableResource.ResourceIdColumn}, new global::System.Data.DataColumn[] {
     
    353412                        this.tablePermissionOwner_UserGroup.UserGroupIdColumn}, false);
    354413            this.Relations.Add(this.relationR_57);
     414            this.relationClientGroup_is_a_Resource = new global::System.Data.DataRelation("ClientGroup_is_a_Resource", new global::System.Data.DataColumn[] {
     415                        this.tableResource.ResourceIdColumn}, new global::System.Data.DataColumn[] {
     416                        this.tableClientGroup.ResourceIdColumn}, false);
     417            this.Relations.Add(this.relationClientGroup_is_a_Resource);
     418            this.relationR_52 = new global::System.Data.DataRelation("R_52", new global::System.Data.DataColumn[] {
     419                        this.tableClientGroup.ResourceIdColumn}, new global::System.Data.DataColumn[] {
     420                        this.tableClientGroup_Resource.ClientGroupResourceColumn}, false);
     421            this.Relations.Add(this.relationR_52);
     422            this.relationR_59 = new global::System.Data.DataRelation("R_59", new global::System.Data.DataColumn[] {
     423                        this.tableResource.ResourceIdColumn}, new global::System.Data.DataColumn[] {
     424                        this.tableClientGroup_Resource.ResourceIdColumn}, false);
     425            this.Relations.Add(this.relationR_59);
    355426        }
    356427       
     
    382453        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    383454        private bool ShouldSerializePermissionOwner_UserGroup() {
     455            return false;
     456        }
     457       
     458        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     459        private bool ShouldSerializeClientGroup() {
     460            return false;
     461        }
     462       
     463        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     464        private bool ShouldSerializeClientGroup_Resource() {
    384465            return false;
    385466        }
     
    449530       
    450531        public delegate void PermissionOwner_UserGroupRowChangeEventHandler(object sender, PermissionOwner_UserGroupRowChangeEvent e);
     532       
     533        public delegate void ClientGroupRowChangeEventHandler(object sender, ClientGroupRowChangeEvent e);
     534       
     535        public delegate void ClientGroup_ResourceRowChangeEventHandler(object sender, ClientGroup_ResourceRowChangeEvent e);
    451536       
    452537        /// <summary>
     
    20212106       
    20222107        /// <summary>
     2108        ///Represents the strongly named DataTable class.
     2109        ///</summary>
     2110        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
     2111        [global::System.Serializable()]
     2112        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
     2113        public partial class ClientGroupDataTable : global::System.Data.TypedTableBase<ClientGroupRow> {
     2114           
     2115            private global::System.Data.DataColumn columnResourceId;
     2116           
     2117            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2118            public ClientGroupDataTable() {
     2119                this.TableName = "ClientGroup";
     2120                this.BeginInit();
     2121                this.InitClass();
     2122                this.EndInit();
     2123            }
     2124           
     2125            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2126            internal ClientGroupDataTable(global::System.Data.DataTable table) {
     2127                this.TableName = table.TableName;
     2128                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
     2129                    this.CaseSensitive = table.CaseSensitive;
     2130                }
     2131                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
     2132                    this.Locale = table.Locale;
     2133                }
     2134                if ((table.Namespace != table.DataSet.Namespace)) {
     2135                    this.Namespace = table.Namespace;
     2136                }
     2137                this.Prefix = table.Prefix;
     2138                this.MinimumCapacity = table.MinimumCapacity;
     2139            }
     2140           
     2141            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2142            protected ClientGroupDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
     2143                    base(info, context) {
     2144                this.InitVars();
     2145            }
     2146           
     2147            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2148            public global::System.Data.DataColumn ResourceIdColumn {
     2149                get {
     2150                    return this.columnResourceId;
     2151                }
     2152            }
     2153           
     2154            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2155            [global::System.ComponentModel.Browsable(false)]
     2156            public int Count {
     2157                get {
     2158                    return this.Rows.Count;
     2159                }
     2160            }
     2161           
     2162            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2163            public ClientGroupRow this[int index] {
     2164                get {
     2165                    return ((ClientGroupRow)(this.Rows[index]));
     2166                }
     2167            }
     2168           
     2169            public event ClientGroupRowChangeEventHandler ClientGroupRowChanging;
     2170           
     2171            public event ClientGroupRowChangeEventHandler ClientGroupRowChanged;
     2172           
     2173            public event ClientGroupRowChangeEventHandler ClientGroupRowDeleting;
     2174           
     2175            public event ClientGroupRowChangeEventHandler ClientGroupRowDeleted;
     2176           
     2177            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2178            public void AddClientGroupRow(ClientGroupRow row) {
     2179                this.Rows.Add(row);
     2180            }
     2181           
     2182            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2183            public ClientGroupRow AddClientGroupRow(ResourceRow parentResourceRowByClientGroup_is_a_Resource) {
     2184                ClientGroupRow rowClientGroupRow = ((ClientGroupRow)(this.NewRow()));
     2185                object[] columnValuesArray = new object[] {
     2186                        null};
     2187                if ((parentResourceRowByClientGroup_is_a_Resource != null)) {
     2188                    columnValuesArray[0] = parentResourceRowByClientGroup_is_a_Resource[0];
     2189                }
     2190                rowClientGroupRow.ItemArray = columnValuesArray;
     2191                this.Rows.Add(rowClientGroupRow);
     2192                return rowClientGroupRow;
     2193            }
     2194           
     2195            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2196            public ClientGroupRow FindByResourceId(long ResourceId) {
     2197                return ((ClientGroupRow)(this.Rows.Find(new object[] {
     2198                            ResourceId})));
     2199            }
     2200           
     2201            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2202            public override global::System.Data.DataTable Clone() {
     2203                ClientGroupDataTable cln = ((ClientGroupDataTable)(base.Clone()));
     2204                cln.InitVars();
     2205                return cln;
     2206            }
     2207           
     2208            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2209            protected override global::System.Data.DataTable CreateInstance() {
     2210                return new ClientGroupDataTable();
     2211            }
     2212           
     2213            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2214            internal void InitVars() {
     2215                this.columnResourceId = base.Columns["ResourceId"];
     2216            }
     2217           
     2218            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2219            private void InitClass() {
     2220                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(long), null, global::System.Data.MappingType.Element);
     2221                base.Columns.Add(this.columnResourceId);
     2222                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
     2223                                this.columnResourceId}, true));
     2224                this.columnResourceId.AllowDBNull = false;
     2225                this.columnResourceId.Unique = true;
     2226            }
     2227           
     2228            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2229            public ClientGroupRow NewClientGroupRow() {
     2230                return ((ClientGroupRow)(this.NewRow()));
     2231            }
     2232           
     2233            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2234            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
     2235                return new ClientGroupRow(builder);
     2236            }
     2237           
     2238            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2239            protected override global::System.Type GetRowType() {
     2240                return typeof(ClientGroupRow);
     2241            }
     2242           
     2243            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2244            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
     2245                base.OnRowChanged(e);
     2246                if ((this.ClientGroupRowChanged != null)) {
     2247                    this.ClientGroupRowChanged(this, new ClientGroupRowChangeEvent(((ClientGroupRow)(e.Row)), e.Action));
     2248                }
     2249            }
     2250           
     2251            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2252            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
     2253                base.OnRowChanging(e);
     2254                if ((this.ClientGroupRowChanging != null)) {
     2255                    this.ClientGroupRowChanging(this, new ClientGroupRowChangeEvent(((ClientGroupRow)(e.Row)), e.Action));
     2256                }
     2257            }
     2258           
     2259            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2260            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
     2261                base.OnRowDeleted(e);
     2262                if ((this.ClientGroupRowDeleted != null)) {
     2263                    this.ClientGroupRowDeleted(this, new ClientGroupRowChangeEvent(((ClientGroupRow)(e.Row)), e.Action));
     2264                }
     2265            }
     2266           
     2267            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2268            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
     2269                base.OnRowDeleting(e);
     2270                if ((this.ClientGroupRowDeleting != null)) {
     2271                    this.ClientGroupRowDeleting(this, new ClientGroupRowChangeEvent(((ClientGroupRow)(e.Row)), e.Action));
     2272                }
     2273            }
     2274           
     2275            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2276            public void RemoveClientGroupRow(ClientGroupRow row) {
     2277                this.Rows.Remove(row);
     2278            }
     2279           
     2280            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2281            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
     2282                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
     2283                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
     2284                dsHiveServer ds = new dsHiveServer();
     2285                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
     2286                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
     2287                any1.MinOccurs = new decimal(0);
     2288                any1.MaxOccurs = decimal.MaxValue;
     2289                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
     2290                sequence.Items.Add(any1);
     2291                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
     2292                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
     2293                any2.MinOccurs = new decimal(1);
     2294                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
     2295                sequence.Items.Add(any2);
     2296                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
     2297                attribute1.Name = "namespace";
     2298                attribute1.FixedValue = ds.Namespace;
     2299                type.Attributes.Add(attribute1);
     2300                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
     2301                attribute2.Name = "tableTypeName";
     2302                attribute2.FixedValue = "ClientGroupDataTable";
     2303                type.Attributes.Add(attribute2);
     2304                type.Particle = sequence;
     2305                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
     2306                if (xs.Contains(dsSchema.TargetNamespace)) {
     2307                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
     2308                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
     2309                    try {
     2310                        global::System.Xml.Schema.XmlSchema schema = null;
     2311                        dsSchema.Write(s1);
     2312                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
     2313                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
     2314                            s2.SetLength(0);
     2315                            schema.Write(s2);
     2316                            if ((s1.Length == s2.Length)) {
     2317                                s1.Position = 0;
     2318                                s2.Position = 0;
     2319                                for (; ((s1.Position != s1.Length)
     2320                                            && (s1.ReadByte() == s2.ReadByte())); ) {
     2321                                    ;
     2322                                }
     2323                                if ((s1.Position == s1.Length)) {
     2324                                    return type;
     2325                                }
     2326                            }
     2327                        }
     2328                    }
     2329                    finally {
     2330                        if ((s1 != null)) {
     2331                            s1.Close();
     2332                        }
     2333                        if ((s2 != null)) {
     2334                            s2.Close();
     2335                        }
     2336                    }
     2337                }
     2338                xs.Add(dsSchema);
     2339                return type;
     2340            }
     2341        }
     2342       
     2343        /// <summary>
     2344        ///Represents the strongly named DataTable class.
     2345        ///</summary>
     2346        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
     2347        [global::System.Serializable()]
     2348        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
     2349        public partial class ClientGroup_ResourceDataTable : global::System.Data.TypedTableBase<ClientGroup_ResourceRow> {
     2350           
     2351            private global::System.Data.DataColumn columnClientGroupResource;
     2352           
     2353            private global::System.Data.DataColumn columnResourceId;
     2354           
     2355            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2356            public ClientGroup_ResourceDataTable() {
     2357                this.TableName = "ClientGroup_Resource";
     2358                this.BeginInit();
     2359                this.InitClass();
     2360                this.EndInit();
     2361            }
     2362           
     2363            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2364            internal ClientGroup_ResourceDataTable(global::System.Data.DataTable table) {
     2365                this.TableName = table.TableName;
     2366                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
     2367                    this.CaseSensitive = table.CaseSensitive;
     2368                }
     2369                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
     2370                    this.Locale = table.Locale;
     2371                }
     2372                if ((table.Namespace != table.DataSet.Namespace)) {
     2373                    this.Namespace = table.Namespace;
     2374                }
     2375                this.Prefix = table.Prefix;
     2376                this.MinimumCapacity = table.MinimumCapacity;
     2377            }
     2378           
     2379            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2380            protected ClientGroup_ResourceDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
     2381                    base(info, context) {
     2382                this.InitVars();
     2383            }
     2384           
     2385            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2386            public global::System.Data.DataColumn ClientGroupResourceColumn {
     2387                get {
     2388                    return this.columnClientGroupResource;
     2389                }
     2390            }
     2391           
     2392            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2393            public global::System.Data.DataColumn ResourceIdColumn {
     2394                get {
     2395                    return this.columnResourceId;
     2396                }
     2397            }
     2398           
     2399            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2400            [global::System.ComponentModel.Browsable(false)]
     2401            public int Count {
     2402                get {
     2403                    return this.Rows.Count;
     2404                }
     2405            }
     2406           
     2407            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2408            public ClientGroup_ResourceRow this[int index] {
     2409                get {
     2410                    return ((ClientGroup_ResourceRow)(this.Rows[index]));
     2411                }
     2412            }
     2413           
     2414            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowChanging;
     2415           
     2416            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowChanged;
     2417           
     2418            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowDeleting;
     2419           
     2420            public event ClientGroup_ResourceRowChangeEventHandler ClientGroup_ResourceRowDeleted;
     2421           
     2422            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2423            public void AddClientGroup_ResourceRow(ClientGroup_ResourceRow row) {
     2424                this.Rows.Add(row);
     2425            }
     2426           
     2427            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2428            public ClientGroup_ResourceRow AddClientGroup_ResourceRow(ClientGroupRow parentClientGroupRowByR_52, ResourceRow parentResourceRowByR_59) {
     2429                ClientGroup_ResourceRow rowClientGroup_ResourceRow = ((ClientGroup_ResourceRow)(this.NewRow()));
     2430                object[] columnValuesArray = new object[] {
     2431                        null,
     2432                        null};
     2433                if ((parentClientGroupRowByR_52 != null)) {
     2434                    columnValuesArray[0] = parentClientGroupRowByR_52[0];
     2435                }
     2436                if ((parentResourceRowByR_59 != null)) {
     2437                    columnValuesArray[1] = parentResourceRowByR_59[0];
     2438                }
     2439                rowClientGroup_ResourceRow.ItemArray = columnValuesArray;
     2440                this.Rows.Add(rowClientGroup_ResourceRow);
     2441                return rowClientGroup_ResourceRow;
     2442            }
     2443           
     2444            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2445            public ClientGroup_ResourceRow FindByClientGroupResourceResourceId(long ClientGroupResource, long ResourceId) {
     2446                return ((ClientGroup_ResourceRow)(this.Rows.Find(new object[] {
     2447                            ClientGroupResource,
     2448                            ResourceId})));
     2449            }
     2450           
     2451            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2452            public override global::System.Data.DataTable Clone() {
     2453                ClientGroup_ResourceDataTable cln = ((ClientGroup_ResourceDataTable)(base.Clone()));
     2454                cln.InitVars();
     2455                return cln;
     2456            }
     2457           
     2458            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2459            protected override global::System.Data.DataTable CreateInstance() {
     2460                return new ClientGroup_ResourceDataTable();
     2461            }
     2462           
     2463            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2464            internal void InitVars() {
     2465                this.columnClientGroupResource = base.Columns["ClientGroupResource"];
     2466                this.columnResourceId = base.Columns["ResourceId"];
     2467            }
     2468           
     2469            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2470            private void InitClass() {
     2471                this.columnClientGroupResource = new global::System.Data.DataColumn("ClientGroupResource", typeof(long), null, global::System.Data.MappingType.Element);
     2472                base.Columns.Add(this.columnClientGroupResource);
     2473                this.columnResourceId = new global::System.Data.DataColumn("ResourceId", typeof(long), null, global::System.Data.MappingType.Element);
     2474                base.Columns.Add(this.columnResourceId);
     2475                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
     2476                                this.columnClientGroupResource,
     2477                                this.columnResourceId}, true));
     2478                this.columnClientGroupResource.AllowDBNull = false;
     2479                this.columnResourceId.AllowDBNull = false;
     2480            }
     2481           
     2482            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2483            public ClientGroup_ResourceRow NewClientGroup_ResourceRow() {
     2484                return ((ClientGroup_ResourceRow)(this.NewRow()));
     2485            }
     2486           
     2487            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2488            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
     2489                return new ClientGroup_ResourceRow(builder);
     2490            }
     2491           
     2492            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2493            protected override global::System.Type GetRowType() {
     2494                return typeof(ClientGroup_ResourceRow);
     2495            }
     2496           
     2497            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2498            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
     2499                base.OnRowChanged(e);
     2500                if ((this.ClientGroup_ResourceRowChanged != null)) {
     2501                    this.ClientGroup_ResourceRowChanged(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
     2502                }
     2503            }
     2504           
     2505            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2506            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
     2507                base.OnRowChanging(e);
     2508                if ((this.ClientGroup_ResourceRowChanging != null)) {
     2509                    this.ClientGroup_ResourceRowChanging(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
     2510                }
     2511            }
     2512           
     2513            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2514            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
     2515                base.OnRowDeleted(e);
     2516                if ((this.ClientGroup_ResourceRowDeleted != null)) {
     2517                    this.ClientGroup_ResourceRowDeleted(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
     2518                }
     2519            }
     2520           
     2521            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2522            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
     2523                base.OnRowDeleting(e);
     2524                if ((this.ClientGroup_ResourceRowDeleting != null)) {
     2525                    this.ClientGroup_ResourceRowDeleting(this, new ClientGroup_ResourceRowChangeEvent(((ClientGroup_ResourceRow)(e.Row)), e.Action));
     2526                }
     2527            }
     2528           
     2529            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2530            public void RemoveClientGroup_ResourceRow(ClientGroup_ResourceRow row) {
     2531                this.Rows.Remove(row);
     2532            }
     2533           
     2534            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2535            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
     2536                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
     2537                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
     2538                dsHiveServer ds = new dsHiveServer();
     2539                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
     2540                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
     2541                any1.MinOccurs = new decimal(0);
     2542                any1.MaxOccurs = decimal.MaxValue;
     2543                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
     2544                sequence.Items.Add(any1);
     2545                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
     2546                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
     2547                any2.MinOccurs = new decimal(1);
     2548                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
     2549                sequence.Items.Add(any2);
     2550                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
     2551                attribute1.Name = "namespace";
     2552                attribute1.FixedValue = ds.Namespace;
     2553                type.Attributes.Add(attribute1);
     2554                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
     2555                attribute2.Name = "tableTypeName";
     2556                attribute2.FixedValue = "ClientGroup_ResourceDataTable";
     2557                type.Attributes.Add(attribute2);
     2558                type.Particle = sequence;
     2559                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
     2560                if (xs.Contains(dsSchema.TargetNamespace)) {
     2561                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
     2562                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
     2563                    try {
     2564                        global::System.Xml.Schema.XmlSchema schema = null;
     2565                        dsSchema.Write(s1);
     2566                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
     2567                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
     2568                            s2.SetLength(0);
     2569                            schema.Write(s2);
     2570                            if ((s1.Length == s2.Length)) {
     2571                                s1.Position = 0;
     2572                                s2.Position = 0;
     2573                                for (; ((s1.Position != s1.Length)
     2574                                            && (s1.ReadByte() == s2.ReadByte())); ) {
     2575                                    ;
     2576                                }
     2577                                if ((s1.Position == s1.Length)) {
     2578                                    return type;
     2579                                }
     2580                            }
     2581                        }
     2582                    }
     2583                    finally {
     2584                        if ((s1 != null)) {
     2585                            s1.Close();
     2586                        }
     2587                        if ((s2 != null)) {
     2588                            s2.Close();
     2589                        }
     2590                    }
     2591                }
     2592                xs.Add(dsSchema);
     2593                return type;
     2594            }
     2595        }
     2596       
     2597        /// <summary>
    20232598        ///Represents strongly named DataRow class.
    20242599        ///</summary>
     
    20782653                }
    20792654            }
     2655           
     2656            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2657            public ClientGroupRow[] GetClientGroupRows() {
     2658                if ((this.Table.ChildRelations["ClientGroup_is_a_Resource"] == null)) {
     2659                    return new ClientGroupRow[0];
     2660                }
     2661                else {
     2662                    return ((ClientGroupRow[])(base.GetChildRows(this.Table.ChildRelations["ClientGroup_is_a_Resource"])));
     2663                }
     2664            }
     2665           
     2666            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     2667            public ClientGroup_ResourceRow[] GetClientGroup_ResourceRows() {
     2668                if ((this.Table.ChildRelations["R_59"] == null)) {
     2669                    return new ClientGroup_ResourceRow[0];
     2670                }
     2671                else {
     2672                    return ((ClientGroup_ResourceRow[])(base.GetChildRows(this.Table.ChildRelations["R_59"])));
     2673                }
     2674            }
    20802675        }
    20812676       
     
    25313126       
    25323127        /// <summary>
     3128        ///Represents strongly named DataRow class.
     3129        ///</summary>
     3130        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
     3131        public partial class ClientGroupRow : global::System.Data.DataRow {
     3132           
     3133            private ClientGroupDataTable tableClientGroup;
     3134           
     3135            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3136            internal ClientGroupRow(global::System.Data.DataRowBuilder rb) :
     3137                    base(rb) {
     3138                this.tableClientGroup = ((ClientGroupDataTable)(this.Table));
     3139            }
     3140           
     3141            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3142            public long ResourceId {
     3143                get {
     3144                    return ((long)(this[this.tableClientGroup.ResourceIdColumn]));
     3145                }
     3146                set {
     3147                    this[this.tableClientGroup.ResourceIdColumn] = value;
     3148                }
     3149            }
     3150           
     3151            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3152            public ResourceRow ResourceRow {
     3153                get {
     3154                    return ((ResourceRow)(this.GetParentRow(this.Table.ParentRelations["ClientGroup_is_a_Resource"])));
     3155                }
     3156                set {
     3157                    this.SetParentRow(value, this.Table.ParentRelations["ClientGroup_is_a_Resource"]);
     3158                }
     3159            }
     3160           
     3161            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3162            public ClientGroup_ResourceRow[] GetClientGroup_ResourceRows() {
     3163                if ((this.Table.ChildRelations["R_52"] == null)) {
     3164                    return new ClientGroup_ResourceRow[0];
     3165                }
     3166                else {
     3167                    return ((ClientGroup_ResourceRow[])(base.GetChildRows(this.Table.ChildRelations["R_52"])));
     3168                }
     3169            }
     3170        }
     3171       
     3172        /// <summary>
     3173        ///Represents strongly named DataRow class.
     3174        ///</summary>
     3175        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
     3176        public partial class ClientGroup_ResourceRow : global::System.Data.DataRow {
     3177           
     3178            private ClientGroup_ResourceDataTable tableClientGroup_Resource;
     3179           
     3180            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3181            internal ClientGroup_ResourceRow(global::System.Data.DataRowBuilder rb) :
     3182                    base(rb) {
     3183                this.tableClientGroup_Resource = ((ClientGroup_ResourceDataTable)(this.Table));
     3184            }
     3185           
     3186            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3187            public long ClientGroupResource {
     3188                get {
     3189                    return ((long)(this[this.tableClientGroup_Resource.ClientGroupResourceColumn]));
     3190                }
     3191                set {
     3192                    this[this.tableClientGroup_Resource.ClientGroupResourceColumn] = value;
     3193                }
     3194            }
     3195           
     3196            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3197            public long ResourceId {
     3198                get {
     3199                    return ((long)(this[this.tableClientGroup_Resource.ResourceIdColumn]));
     3200                }
     3201                set {
     3202                    this[this.tableClientGroup_Resource.ResourceIdColumn] = value;
     3203                }
     3204            }
     3205           
     3206            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3207            public ClientGroupRow ClientGroupRow {
     3208                get {
     3209                    return ((ClientGroupRow)(this.GetParentRow(this.Table.ParentRelations["R_52"])));
     3210                }
     3211                set {
     3212                    this.SetParentRow(value, this.Table.ParentRelations["R_52"]);
     3213                }
     3214            }
     3215           
     3216            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3217            public ResourceRow ResourceRow {
     3218                get {
     3219                    return ((ResourceRow)(this.GetParentRow(this.Table.ParentRelations["R_59"])));
     3220                }
     3221                set {
     3222                    this.SetParentRow(value, this.Table.ParentRelations["R_59"]);
     3223                }
     3224            }
     3225        }
     3226       
     3227        /// <summary>
    25333228        ///Row event argument class
    25343229        ///</summary>
     
    27033398            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    27043399            public PermissionOwner_UserGroupRow Row {
     3400                get {
     3401                    return this.eventRow;
     3402                }
     3403            }
     3404           
     3405            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3406            public global::System.Data.DataRowAction Action {
     3407                get {
     3408                    return this.eventAction;
     3409                }
     3410            }
     3411        }
     3412       
     3413        /// <summary>
     3414        ///Row event argument class
     3415        ///</summary>
     3416        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
     3417        public class ClientGroupRowChangeEvent : global::System.EventArgs {
     3418           
     3419            private ClientGroupRow eventRow;
     3420           
     3421            private global::System.Data.DataRowAction eventAction;
     3422           
     3423            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3424            public ClientGroupRowChangeEvent(ClientGroupRow row, global::System.Data.DataRowAction action) {
     3425                this.eventRow = row;
     3426                this.eventAction = action;
     3427            }
     3428           
     3429            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3430            public ClientGroupRow Row {
     3431                get {
     3432                    return this.eventRow;
     3433                }
     3434            }
     3435           
     3436            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3437            public global::System.Data.DataRowAction Action {
     3438                get {
     3439                    return this.eventAction;
     3440                }
     3441            }
     3442        }
     3443       
     3444        /// <summary>
     3445        ///Row event argument class
     3446        ///</summary>
     3447        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
     3448        public class ClientGroup_ResourceRowChangeEvent : global::System.EventArgs {
     3449           
     3450            private ClientGroup_ResourceRow eventRow;
     3451           
     3452            private global::System.Data.DataRowAction eventAction;
     3453           
     3454            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3455            public ClientGroup_ResourceRowChangeEvent(ClientGroup_ResourceRow row, global::System.Data.DataRowAction action) {
     3456                this.eventRow = row;
     3457                this.eventAction = action;
     3458            }
     3459           
     3460            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     3461            public ClientGroup_ResourceRow Row {
    27053462                get {
    27063463                    return this.eventRow;
     
    49265683   
    49275684    /// <summary>
     5685    ///Represents the connection and commands used to retrieve and save data.
     5686    ///</summary>
     5687    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
     5688    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
     5689    [global::System.ComponentModel.ToolboxItem(true)]
     5690    [global::System.ComponentModel.DataObjectAttribute(true)]
     5691    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
     5692        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
     5693    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5694    public partial class ClientGroupTableAdapter : global::System.ComponentModel.Component {
     5695       
     5696        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
     5697       
     5698        private global::System.Data.SqlClient.SqlConnection _connection;
     5699       
     5700        private global::System.Data.SqlClient.SqlTransaction _transaction;
     5701       
     5702        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
     5703       
     5704        private bool _clearBeforeFill;
     5705       
     5706        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5707        public ClientGroupTableAdapter() {
     5708            this.ClearBeforeFill = true;
     5709        }
     5710       
     5711        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5712        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
     5713            get {
     5714                if ((this._adapter == null)) {
     5715                    this.InitAdapter();
     5716                }
     5717                return this._adapter;
     5718            }
     5719        }
     5720       
     5721        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5722        internal global::System.Data.SqlClient.SqlConnection Connection {
     5723            get {
     5724                if ((this._connection == null)) {
     5725                    this.InitConnection();
     5726                }
     5727                return this._connection;
     5728            }
     5729            set {
     5730                this._connection = value;
     5731                if ((this.Adapter.InsertCommand != null)) {
     5732                    this.Adapter.InsertCommand.Connection = value;
     5733                }
     5734                if ((this.Adapter.DeleteCommand != null)) {
     5735                    this.Adapter.DeleteCommand.Connection = value;
     5736                }
     5737                if ((this.Adapter.UpdateCommand != null)) {
     5738                    this.Adapter.UpdateCommand.Connection = value;
     5739                }
     5740                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
     5741                    if ((this.CommandCollection[i] != null)) {
     5742                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
     5743                    }
     5744                }
     5745            }
     5746        }
     5747       
     5748        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5749        internal global::System.Data.SqlClient.SqlTransaction Transaction {
     5750            get {
     5751                return this._transaction;
     5752            }
     5753            set {
     5754                this._transaction = value;
     5755                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
     5756                    this.CommandCollection[i].Transaction = this._transaction;
     5757                }
     5758                if (((this.Adapter != null)
     5759                            && (this.Adapter.DeleteCommand != null))) {
     5760                    this.Adapter.DeleteCommand.Transaction = this._transaction;
     5761                }
     5762                if (((this.Adapter != null)
     5763                            && (this.Adapter.InsertCommand != null))) {
     5764                    this.Adapter.InsertCommand.Transaction = this._transaction;
     5765                }
     5766                if (((this.Adapter != null)
     5767                            && (this.Adapter.UpdateCommand != null))) {
     5768                    this.Adapter.UpdateCommand.Transaction = this._transaction;
     5769                }
     5770            }
     5771        }
     5772       
     5773        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5774        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
     5775            get {
     5776                if ((this._commandCollection == null)) {
     5777                    this.InitCommandCollection();
     5778                }
     5779                return this._commandCollection;
     5780            }
     5781        }
     5782       
     5783        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5784        public bool ClearBeforeFill {
     5785            get {
     5786                return this._clearBeforeFill;
     5787            }
     5788            set {
     5789                this._clearBeforeFill = value;
     5790            }
     5791        }
     5792       
     5793        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5794        private void InitAdapter() {
     5795            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
     5796            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
     5797            tableMapping.SourceTable = "Table";
     5798            tableMapping.DataSetTable = "ClientGroup";
     5799            tableMapping.ColumnMappings.Add("ResourceId", "ResourceId");
     5800            this._adapter.TableMappings.Add(tableMapping);
     5801            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
     5802            this._adapter.DeleteCommand.Connection = this.Connection;
     5803            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[ClientGroup] WHERE (([ResourceId] = @Original_ResourceId))";
     5804            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
     5805            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
     5806            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
     5807            this._adapter.InsertCommand.Connection = this.Connection;
     5808            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[ClientGroup] ([ResourceId]) VALUES (@ResourceId);\r\nSELECT Reso" +
     5809                "urceId FROM ClientGroup WHERE (ResourceId = @ResourceId)";
     5810            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
     5811            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
     5812            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
     5813            this._adapter.UpdateCommand.Connection = this.Connection;
     5814            this._adapter.UpdateCommand.CommandText = "UPDATE [dbo].[ClientGroup] SET [ResourceId] = @ResourceId WHERE (([ResourceId] = " +
     5815                "@Original_ResourceId));\r\nSELECT ResourceId FROM ClientGroup WHERE (ResourceId = " +
     5816                "@ResourceId)";
     5817            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
     5818            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
     5819            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
     5820        }
     5821       
     5822        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5823        private void InitConnection() {
     5824            this._connection = new global::System.Data.SqlClient.SqlConnection();
     5825            this._connection.ConnectionString = global::HeuristicLab.Hive.Server.ADODataAccess.Properties.Settings.Default.HiveServerConnectionString;
     5826        }
     5827       
     5828        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5829        private void InitCommandCollection() {
     5830            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
     5831            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
     5832            this._commandCollection[0].Connection = this.Connection;
     5833            this._commandCollection[0].CommandText = "SELECT ResourceId FROM dbo.ClientGroup";
     5834            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
     5835        }
     5836       
     5837        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5838        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5839        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
     5840        public virtual int Fill(dsHiveServer.ClientGroupDataTable dataTable) {
     5841            this.Adapter.SelectCommand = this.CommandCollection[0];
     5842            if ((this.ClearBeforeFill == true)) {
     5843                dataTable.Clear();
     5844            }
     5845            int returnValue = this.Adapter.Fill(dataTable);
     5846            return returnValue;
     5847        }
     5848       
     5849        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5850        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5851        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
     5852        public virtual dsHiveServer.ClientGroupDataTable GetData() {
     5853            this.Adapter.SelectCommand = this.CommandCollection[0];
     5854            dsHiveServer.ClientGroupDataTable dataTable = new dsHiveServer.ClientGroupDataTable();
     5855            this.Adapter.Fill(dataTable);
     5856            return dataTable;
     5857        }
     5858       
     5859        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5860        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5861        public virtual int Update(dsHiveServer.ClientGroupDataTable dataTable) {
     5862            return this.Adapter.Update(dataTable);
     5863        }
     5864       
     5865        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5866        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5867        public virtual int Update(dsHiveServer dataSet) {
     5868            return this.Adapter.Update(dataSet, "ClientGroup");
     5869        }
     5870       
     5871        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5872        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5873        public virtual int Update(global::System.Data.DataRow dataRow) {
     5874            return this.Adapter.Update(new global::System.Data.DataRow[] {
     5875                        dataRow});
     5876        }
     5877       
     5878        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5879        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5880        public virtual int Update(global::System.Data.DataRow[] dataRows) {
     5881            return this.Adapter.Update(dataRows);
     5882        }
     5883       
     5884        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5885        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5886        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
     5887        public virtual int Delete(long Original_ResourceId) {
     5888            this.Adapter.DeleteCommand.Parameters[0].Value = ((long)(Original_ResourceId));
     5889            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
     5890            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open)
     5891                        != global::System.Data.ConnectionState.Open)) {
     5892                this.Adapter.DeleteCommand.Connection.Open();
     5893            }
     5894            try {
     5895                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
     5896                return returnValue;
     5897            }
     5898            finally {
     5899                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
     5900                    this.Adapter.DeleteCommand.Connection.Close();
     5901                }
     5902            }
     5903        }
     5904       
     5905        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5906        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5907        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
     5908        public virtual int Insert(long ResourceId) {
     5909            this.Adapter.InsertCommand.Parameters[0].Value = ((long)(ResourceId));
     5910            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
     5911            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open)
     5912                        != global::System.Data.ConnectionState.Open)) {
     5913                this.Adapter.InsertCommand.Connection.Open();
     5914            }
     5915            try {
     5916                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
     5917                return returnValue;
     5918            }
     5919            finally {
     5920                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
     5921                    this.Adapter.InsertCommand.Connection.Close();
     5922                }
     5923            }
     5924        }
     5925       
     5926        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5927        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5928        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
     5929        public virtual int Update(long ResourceId, long Original_ResourceId) {
     5930            this.Adapter.UpdateCommand.Parameters[0].Value = ((long)(ResourceId));
     5931            this.Adapter.UpdateCommand.Parameters[1].Value = ((long)(Original_ResourceId));
     5932            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
     5933            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open)
     5934                        != global::System.Data.ConnectionState.Open)) {
     5935                this.Adapter.UpdateCommand.Connection.Open();
     5936            }
     5937            try {
     5938                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
     5939                return returnValue;
     5940            }
     5941            finally {
     5942                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
     5943                    this.Adapter.UpdateCommand.Connection.Close();
     5944                }
     5945            }
     5946        }
     5947       
     5948        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5949        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5950        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
     5951        public virtual int Update(long Original_ResourceId) {
     5952            return this.Update(Original_ResourceId, Original_ResourceId);
     5953        }
     5954    }
     5955   
     5956    /// <summary>
     5957    ///Represents the connection and commands used to retrieve and save data.
     5958    ///</summary>
     5959    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
     5960    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
     5961    [global::System.ComponentModel.ToolboxItem(true)]
     5962    [global::System.ComponentModel.DataObjectAttribute(true)]
     5963    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
     5964        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
     5965    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     5966    public partial class ClientGroup_ResourceTableAdapter : global::System.ComponentModel.Component {
     5967       
     5968        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
     5969       
     5970        private global::System.Data.SqlClient.SqlConnection _connection;
     5971       
     5972        private global::System.Data.SqlClient.SqlTransaction _transaction;
     5973       
     5974        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
     5975       
     5976        private bool _clearBeforeFill;
     5977       
     5978        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5979        public ClientGroup_ResourceTableAdapter() {
     5980            this.ClearBeforeFill = true;
     5981        }
     5982       
     5983        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5984        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
     5985            get {
     5986                if ((this._adapter == null)) {
     5987                    this.InitAdapter();
     5988                }
     5989                return this._adapter;
     5990            }
     5991        }
     5992       
     5993        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     5994        internal global::System.Data.SqlClient.SqlConnection Connection {
     5995            get {
     5996                if ((this._connection == null)) {
     5997                    this.InitConnection();
     5998                }
     5999                return this._connection;
     6000            }
     6001            set {
     6002                this._connection = value;
     6003                if ((this.Adapter.InsertCommand != null)) {
     6004                    this.Adapter.InsertCommand.Connection = value;
     6005                }
     6006                if ((this.Adapter.DeleteCommand != null)) {
     6007                    this.Adapter.DeleteCommand.Connection = value;
     6008                }
     6009                if ((this.Adapter.UpdateCommand != null)) {
     6010                    this.Adapter.UpdateCommand.Connection = value;
     6011                }
     6012                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
     6013                    if ((this.CommandCollection[i] != null)) {
     6014                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
     6015                    }
     6016                }
     6017            }
     6018        }
     6019       
     6020        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6021        internal global::System.Data.SqlClient.SqlTransaction Transaction {
     6022            get {
     6023                return this._transaction;
     6024            }
     6025            set {
     6026                this._transaction = value;
     6027                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
     6028                    this.CommandCollection[i].Transaction = this._transaction;
     6029                }
     6030                if (((this.Adapter != null)
     6031                            && (this.Adapter.DeleteCommand != null))) {
     6032                    this.Adapter.DeleteCommand.Transaction = this._transaction;
     6033                }
     6034                if (((this.Adapter != null)
     6035                            && (this.Adapter.InsertCommand != null))) {
     6036                    this.Adapter.InsertCommand.Transaction = this._transaction;
     6037                }
     6038                if (((this.Adapter != null)
     6039                            && (this.Adapter.UpdateCommand != null))) {
     6040                    this.Adapter.UpdateCommand.Transaction = this._transaction;
     6041                }
     6042            }
     6043        }
     6044       
     6045        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6046        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
     6047            get {
     6048                if ((this._commandCollection == null)) {
     6049                    this.InitCommandCollection();
     6050                }
     6051                return this._commandCollection;
     6052            }
     6053        }
     6054       
     6055        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6056        public bool ClearBeforeFill {
     6057            get {
     6058                return this._clearBeforeFill;
     6059            }
     6060            set {
     6061                this._clearBeforeFill = value;
     6062            }
     6063        }
     6064       
     6065        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6066        private void InitAdapter() {
     6067            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
     6068            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
     6069            tableMapping.SourceTable = "Table";
     6070            tableMapping.DataSetTable = "ClientGroup_Resource";
     6071            tableMapping.ColumnMappings.Add("ClientGroupResource", "ClientGroupResource");
     6072            tableMapping.ColumnMappings.Add("ResourceId", "ResourceId");
     6073            this._adapter.TableMappings.Add(tableMapping);
     6074            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
     6075            this._adapter.DeleteCommand.Connection = this.Connection;
     6076            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[ClientGroup_Resource] WHERE (([ClientGroupResource] = @Origina" +
     6077                "l_ClientGroupResource) AND ([ResourceId] = @Original_ResourceId))";
     6078            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
     6079            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientGroupResource", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupResource", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
     6080            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
     6081            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
     6082            this._adapter.InsertCommand.Connection = this.Connection;
     6083            this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[ClientGroup_Resource] ([ClientGroupResource], [ResourceId]) VALUES (@ClientGroupResource, @ResourceId);
     6084SELECT ClientGroupResource, ResourceId FROM ClientGroup_Resource WHERE (ClientGroupResource = @ClientGroupResource) AND (ResourceId = @ResourceId)";
     6085            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
     6086            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientGroupResource", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupResource", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
     6087            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
     6088            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
     6089            this._adapter.UpdateCommand.Connection = this.Connection;
     6090            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[ClientGroup_Resource] SET [ClientGroupResource] = @ClientGroupResource, [ResourceId] = @ResourceId WHERE (([ClientGroupResource] = @Original_ClientGroupResource) AND ([ResourceId] = @Original_ResourceId));
     6091SELECT ClientGroupResource, ResourceId FROM ClientGroup_Resource WHERE (ClientGroupResource = @ClientGroupResource) AND (ResourceId = @ResourceId)";
     6092            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
     6093            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientGroupResource", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupResource", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
     6094            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
     6095            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientGroupResource", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientGroupResource", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
     6096            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
     6097        }
     6098       
     6099        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6100        private void InitConnection() {
     6101            this._connection = new global::System.Data.SqlClient.SqlConnection();
     6102            this._connection.ConnectionString = global::HeuristicLab.Hive.Server.ADODataAccess.Properties.Settings.Default.HiveServerConnectionString;
     6103        }
     6104       
     6105        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6106        private void InitCommandCollection() {
     6107            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
     6108            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
     6109            this._commandCollection[0].Connection = this.Connection;
     6110            this._commandCollection[0].CommandText = "SELECT ClientGroupResource, ResourceId FROM dbo.ClientGroup_Resource";
     6111            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
     6112        }
     6113       
     6114        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6115        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     6116        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
     6117        public virtual int Fill(dsHiveServer.ClientGroup_ResourceDataTable dataTable) {
     6118            this.Adapter.SelectCommand = this.CommandCollection[0];
     6119            if ((this.ClearBeforeFill == true)) {
     6120                dataTable.Clear();
     6121            }
     6122            int returnValue = this.Adapter.Fill(dataTable);
     6123            return returnValue;
     6124        }
     6125       
     6126        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6127        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     6128        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
     6129        public virtual dsHiveServer.ClientGroup_ResourceDataTable GetData() {
     6130            this.Adapter.SelectCommand = this.CommandCollection[0];
     6131            dsHiveServer.ClientGroup_ResourceDataTable dataTable = new dsHiveServer.ClientGroup_ResourceDataTable();
     6132            this.Adapter.Fill(dataTable);
     6133            return dataTable;
     6134        }
     6135       
     6136        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6137        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     6138        public virtual int Update(dsHiveServer.ClientGroup_ResourceDataTable dataTable) {
     6139            return this.Adapter.Update(dataTable);
     6140        }
     6141       
     6142        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6143        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     6144        public virtual int Update(dsHiveServer dataSet) {
     6145            return this.Adapter.Update(dataSet, "ClientGroup_Resource");
     6146        }
     6147       
     6148        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6149        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     6150        public virtual int Update(global::System.Data.DataRow dataRow) {
     6151            return this.Adapter.Update(new global::System.Data.DataRow[] {
     6152                        dataRow});
     6153        }
     6154       
     6155        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6156        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     6157        public virtual int Update(global::System.Data.DataRow[] dataRows) {
     6158            return this.Adapter.Update(dataRows);
     6159        }
     6160       
     6161        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6162        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     6163        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
     6164        public virtual int Delete(long Original_ClientGroupResource, long Original_ResourceId) {
     6165            this.Adapter.DeleteCommand.Parameters[0].Value = ((long)(Original_ClientGroupResource));
     6166            this.Adapter.DeleteCommand.Parameters[1].Value = ((long)(Original_ResourceId));
     6167            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
     6168            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open)
     6169                        != global::System.Data.ConnectionState.Open)) {
     6170                this.Adapter.DeleteCommand.Connection.Open();
     6171            }
     6172            try {
     6173                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
     6174                return returnValue;
     6175            }
     6176            finally {
     6177                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
     6178                    this.Adapter.DeleteCommand.Connection.Close();
     6179                }
     6180            }
     6181        }
     6182       
     6183        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6184        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     6185        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
     6186        public virtual int Insert(long ClientGroupResource, long ResourceId) {
     6187            this.Adapter.InsertCommand.Parameters[0].Value = ((long)(ClientGroupResource));
     6188            this.Adapter.InsertCommand.Parameters[1].Value = ((long)(ResourceId));
     6189            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
     6190            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open)
     6191                        != global::System.Data.ConnectionState.Open)) {
     6192                this.Adapter.InsertCommand.Connection.Open();
     6193            }
     6194            try {
     6195                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
     6196                return returnValue;
     6197            }
     6198            finally {
     6199                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
     6200                    this.Adapter.InsertCommand.Connection.Close();
     6201                }
     6202            }
     6203        }
     6204       
     6205        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6206        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     6207        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
     6208        public virtual int Update(long ClientGroupResource, long ResourceId, long Original_ClientGroupResource, long Original_ResourceId) {
     6209            this.Adapter.UpdateCommand.Parameters[0].Value = ((long)(ClientGroupResource));
     6210            this.Adapter.UpdateCommand.Parameters[1].Value = ((long)(ResourceId));
     6211            this.Adapter.UpdateCommand.Parameters[2].Value = ((long)(Original_ClientGroupResource));
     6212            this.Adapter.UpdateCommand.Parameters[3].Value = ((long)(Original_ResourceId));
     6213            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
     6214            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open)
     6215                        != global::System.Data.ConnectionState.Open)) {
     6216                this.Adapter.UpdateCommand.Connection.Open();
     6217            }
     6218            try {
     6219                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
     6220                return returnValue;
     6221            }
     6222            finally {
     6223                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
     6224                    this.Adapter.UpdateCommand.Connection.Close();
     6225                }
     6226            }
     6227        }
     6228       
     6229        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6230        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
     6231        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
     6232        public virtual int Update(long Original_ClientGroupResource, long Original_ResourceId) {
     6233            return this.Update(Original_ClientGroupResource, Original_ResourceId, Original_ClientGroupResource, Original_ResourceId);
     6234        }
     6235    }
     6236   
     6237    /// <summary>
    49286238    ///TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios
    49296239    ///</summary>
     
    49506260        private PermissionOwner_UserGroupTableAdapter _permissionOwner_UserGroupTableAdapter;
    49516261       
     6262        private ClientGroupTableAdapter _clientGroupTableAdapter;
     6263       
     6264        private ClientGroup_ResourceTableAdapter _clientGroup_ResourceTableAdapter;
     6265       
    49526266        private bool _backupDataSetBeforeUpdate;
    49536267       
     
    50436357       
    50446358        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6359        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
     6360            "ft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" +
     6361            "", "System.Drawing.Design.UITypeEditor")]
     6362        public ClientGroupTableAdapter ClientGroupTableAdapter {
     6363            get {
     6364                return this._clientGroupTableAdapter;
     6365            }
     6366            set {
     6367                this._clientGroupTableAdapter = value;
     6368            }
     6369        }
     6370       
     6371        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     6372        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
     6373            "ft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" +
     6374            "", "System.Drawing.Design.UITypeEditor")]
     6375        public ClientGroup_ResourceTableAdapter ClientGroup_ResourceTableAdapter {
     6376            get {
     6377                return this._clientGroup_ResourceTableAdapter;
     6378            }
     6379            set {
     6380                this._clientGroup_ResourceTableAdapter = value;
     6381            }
     6382        }
     6383       
     6384        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    50456385        public bool BackupDataSetBeforeUpdate {
    50466386            get {
     
    50826422                            && (this._permissionOwner_UserGroupTableAdapter.Connection != null))) {
    50836423                    return this._permissionOwner_UserGroupTableAdapter.Connection;
     6424                }
     6425                if (((this._clientGroupTableAdapter != null)
     6426                            && (this._clientGroupTableAdapter.Connection != null))) {
     6427                    return this._clientGroupTableAdapter.Connection;
     6428                }
     6429                if (((this._clientGroup_ResourceTableAdapter != null)
     6430                            && (this._clientGroup_ResourceTableAdapter.Connection != null))) {
     6431                    return this._clientGroup_ResourceTableAdapter.Connection;
    50846432                }
    50856433                return null;
     
    51116459                }
    51126460                if ((this._permissionOwner_UserGroupTableAdapter != null)) {
     6461                    count = (count + 1);
     6462                }
     6463                if ((this._clientGroupTableAdapter != null)) {
     6464                    count = (count + 1);
     6465                }
     6466                if ((this._clientGroup_ResourceTableAdapter != null)) {
    51136467                    count = (count + 1);
    51146468                }
     
    51326486                }
    51336487            }
     6488            if ((this._resourceTableAdapter != null)) {
     6489                global::System.Data.DataRow[] updatedRows = dataSet.Resource.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
     6490                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
     6491                if (((updatedRows != null)
     6492                            && (0 < updatedRows.Length))) {
     6493                    result = (result + this._resourceTableAdapter.Update(updatedRows));
     6494                    allChangedRows.AddRange(updatedRows);
     6495                }
     6496            }
     6497            if ((this._clientGroupTableAdapter != null)) {
     6498                global::System.Data.DataRow[] updatedRows = dataSet.ClientGroup.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
     6499                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
     6500                if (((updatedRows != null)
     6501                            && (0 < updatedRows.Length))) {
     6502                    result = (result + this._clientGroupTableAdapter.Update(updatedRows));
     6503                    allChangedRows.AddRange(updatedRows);
     6504                }
     6505            }
    51346506            if ((this._userGroupTableAdapter != null)) {
    51356507                global::System.Data.DataRow[] updatedRows = dataSet.UserGroup.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
     
    51416513                }
    51426514            }
    5143             if ((this._resourceTableAdapter != null)) {
    5144                 global::System.Data.DataRow[] updatedRows = dataSet.Resource.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
     6515            if ((this._clientGroup_ResourceTableAdapter != null)) {
     6516                global::System.Data.DataRow[] updatedRows = dataSet.ClientGroup_Resource.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
    51456517                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
    51466518                if (((updatedRows != null)
    51476519                            && (0 < updatedRows.Length))) {
    5148                     result = (result + this._resourceTableAdapter.Update(updatedRows));
     6520                    result = (result + this._clientGroup_ResourceTableAdapter.Update(updatedRows));
    51496521                    allChangedRows.AddRange(updatedRows);
    51506522                }
     
    51596531                }
    51606532            }
     6533            if ((this._hiveUserTableAdapter != null)) {
     6534                global::System.Data.DataRow[] updatedRows = dataSet.HiveUser.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
     6535                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
     6536                if (((updatedRows != null)
     6537                            && (0 < updatedRows.Length))) {
     6538                    result = (result + this._hiveUserTableAdapter.Update(updatedRows));
     6539                    allChangedRows.AddRange(updatedRows);
     6540                }
     6541            }
    51616542            if ((this._clientTableAdapter != null)) {
    51626543                global::System.Data.DataRow[] updatedRows = dataSet.Client.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
     
    51656546                            && (0 < updatedRows.Length))) {
    51666547                    result = (result + this._clientTableAdapter.Update(updatedRows));
    5167                     allChangedRows.AddRange(updatedRows);
    5168                 }
    5169             }
    5170             if ((this._hiveUserTableAdapter != null)) {
    5171                 global::System.Data.DataRow[] updatedRows = dataSet.HiveUser.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
    5172                 updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
    5173                 if (((updatedRows != null)
    5174                             && (0 < updatedRows.Length))) {
    5175                     result = (result + this._hiveUserTableAdapter.Update(updatedRows));
    51766548                    allChangedRows.AddRange(updatedRows);
    51776549                }
     
    51946566                }
    51956567            }
     6568            if ((this._resourceTableAdapter != null)) {
     6569                global::System.Data.DataRow[] addedRows = dataSet.Resource.Select(null, null, global::System.Data.DataViewRowState.Added);
     6570                if (((addedRows != null)
     6571                            && (0 < addedRows.Length))) {
     6572                    result = (result + this._resourceTableAdapter.Update(addedRows));
     6573                    allAddedRows.AddRange(addedRows);
     6574                }
     6575            }
     6576            if ((this._clientGroupTableAdapter != null)) {
     6577                global::System.Data.DataRow[] addedRows = dataSet.ClientGroup.Select(null, null, global::System.Data.DataViewRowState.Added);
     6578                if (((addedRows != null)
     6579                            && (0 < addedRows.Length))) {
     6580                    result = (result + this._clientGroupTableAdapter.Update(addedRows));
     6581                    allAddedRows.AddRange(addedRows);
     6582                }
     6583            }
    51966584            if ((this._userGroupTableAdapter != null)) {
    51976585                global::System.Data.DataRow[] addedRows = dataSet.UserGroup.Select(null, null, global::System.Data.DataViewRowState.Added);
     
    52026590                }
    52036591            }
    5204             if ((this._resourceTableAdapter != null)) {
    5205                 global::System.Data.DataRow[] addedRows = dataSet.Resource.Select(null, null, global::System.Data.DataViewRowState.Added);
     6592            if ((this._clientGroup_ResourceTableAdapter != null)) {
     6593                global::System.Data.DataRow[] addedRows = dataSet.ClientGroup_Resource.Select(null, null, global::System.Data.DataViewRowState.Added);
    52066594                if (((addedRows != null)
    52076595                            && (0 < addedRows.Length))) {
    5208                     result = (result + this._resourceTableAdapter.Update(addedRows));
     6596                    result = (result + this._clientGroup_ResourceTableAdapter.Update(addedRows));
    52096597                    allAddedRows.AddRange(addedRows);
    52106598                }
     
    52186606                }
    52196607            }
     6608            if ((this._hiveUserTableAdapter != null)) {
     6609                global::System.Data.DataRow[] addedRows = dataSet.HiveUser.Select(null, null, global::System.Data.DataViewRowState.Added);
     6610                if (((addedRows != null)
     6611                            && (0 < addedRows.Length))) {
     6612                    result = (result + this._hiveUserTableAdapter.Update(addedRows));
     6613                    allAddedRows.AddRange(addedRows);
     6614                }
     6615            }
    52206616            if ((this._clientTableAdapter != null)) {
    52216617                global::System.Data.DataRow[] addedRows = dataSet.Client.Select(null, null, global::System.Data.DataViewRowState.Added);
     
    52266622                }
    52276623            }
    5228             if ((this._hiveUserTableAdapter != null)) {
    5229                 global::System.Data.DataRow[] addedRows = dataSet.HiveUser.Select(null, null, global::System.Data.DataViewRowState.Added);
    5230                 if (((addedRows != null)
    5231                             && (0 < addedRows.Length))) {
    5232                     result = (result + this._hiveUserTableAdapter.Update(addedRows));
    5233                     allAddedRows.AddRange(addedRows);
    5234                 }
    5235             }
    52366624            return result;
    52376625        }
     
    52436631        private int UpdateDeletedRows(dsHiveServer dataSet, global::System.Collections.Generic.List<global::System.Data.DataRow> allChangedRows) {
    52446632            int result = 0;
     6633            if ((this._clientTableAdapter != null)) {
     6634                global::System.Data.DataRow[] deletedRows = dataSet.Client.Select(null, null, global::System.Data.DataViewRowState.Deleted);
     6635                if (((deletedRows != null)
     6636                            && (0 < deletedRows.Length))) {
     6637                    result = (result + this._clientTableAdapter.Update(deletedRows));
     6638                    allChangedRows.AddRange(deletedRows);
     6639                }
     6640            }
    52456641            if ((this._hiveUserTableAdapter != null)) {
    52466642                global::System.Data.DataRow[] deletedRows = dataSet.HiveUser.Select(null, null, global::System.Data.DataViewRowState.Deleted);
     
    52516647                }
    52526648            }
    5253             if ((this._clientTableAdapter != null)) {
    5254                 global::System.Data.DataRow[] deletedRows = dataSet.Client.Select(null, null, global::System.Data.DataViewRowState.Deleted);
    5255                 if (((deletedRows != null)
    5256                             && (0 < deletedRows.Length))) {
    5257                     result = (result + this._clientTableAdapter.Update(deletedRows));
    5258                     allChangedRows.AddRange(deletedRows);
    5259                 }
    5260             }
    52616649            if ((this._permissionOwner_UserGroupTableAdapter != null)) {
    52626650                global::System.Data.DataRow[] deletedRows = dataSet.PermissionOwner_UserGroup.Select(null, null, global::System.Data.DataViewRowState.Deleted);
     
    52676655                }
    52686656            }
     6657            if ((this._clientGroup_ResourceTableAdapter != null)) {
     6658                global::System.Data.DataRow[] deletedRows = dataSet.ClientGroup_Resource.Select(null, null, global::System.Data.DataViewRowState.Deleted);
     6659                if (((deletedRows != null)
     6660                            && (0 < deletedRows.Length))) {
     6661                    result = (result + this._clientGroup_ResourceTableAdapter.Update(deletedRows));
     6662                    allChangedRows.AddRange(deletedRows);
     6663                }
     6664            }
     6665            if ((this._userGroupTableAdapter != null)) {
     6666                global::System.Data.DataRow[] deletedRows = dataSet.UserGroup.Select(null, null, global::System.Data.DataViewRowState.Deleted);
     6667                if (((deletedRows != null)
     6668                            && (0 < deletedRows.Length))) {
     6669                    result = (result + this._userGroupTableAdapter.Update(deletedRows));
     6670                    allChangedRows.AddRange(deletedRows);
     6671                }
     6672            }
     6673            if ((this._clientGroupTableAdapter != null)) {
     6674                global::System.Data.DataRow[] deletedRows = dataSet.ClientGroup.Select(null, null, global::System.Data.DataViewRowState.Deleted);
     6675                if (((deletedRows != null)
     6676                            && (0 < deletedRows.Length))) {
     6677                    result = (result + this._clientGroupTableAdapter.Update(deletedRows));
     6678                    allChangedRows.AddRange(deletedRows);
     6679                }
     6680            }
    52696681            if ((this._resourceTableAdapter != null)) {
    52706682                global::System.Data.DataRow[] deletedRows = dataSet.Resource.Select(null, null, global::System.Data.DataViewRowState.Deleted);
     
    52756687                }
    52766688            }
    5277             if ((this._userGroupTableAdapter != null)) {
    5278                 global::System.Data.DataRow[] deletedRows = dataSet.UserGroup.Select(null, null, global::System.Data.DataViewRowState.Deleted);
    5279                 if (((deletedRows != null)
    5280                             && (0 < deletedRows.Length))) {
    5281                     result = (result + this._userGroupTableAdapter.Update(deletedRows));
    5282                     allChangedRows.AddRange(deletedRows);
    5283                 }
    5284             }
    52856689            if ((this._permissionOwnerTableAdapter != null)) {
    52866690                global::System.Data.DataRow[] deletedRows = dataSet.PermissionOwner.Select(null, null, global::System.Data.DataViewRowState.Deleted);
     
    53556759            if (((this._permissionOwner_UserGroupTableAdapter != null)
    53566760                        && (this.MatchTableAdapterConnection(this._permissionOwner_UserGroupTableAdapter.Connection) == false))) {
     6761                throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" +
     6762                        "tring.");
     6763            }
     6764            if (((this._clientGroupTableAdapter != null)
     6765                        && (this.MatchTableAdapterConnection(this._clientGroupTableAdapter.Connection) == false))) {
     6766                throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" +
     6767                        "tring.");
     6768            }
     6769            if (((this._clientGroup_ResourceTableAdapter != null)
     6770                        && (this.MatchTableAdapterConnection(this._clientGroup_ResourceTableAdapter.Connection) == false))) {
    53576771                throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" +
    53586772                        "tring.");
     
    54426856                        this._permissionOwner_UserGroupTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
    54436857                        adaptersWithAcceptChangesDuringUpdate.Add(this._permissionOwner_UserGroupTableAdapter.Adapter);
     6858                    }
     6859                }
     6860                if ((this._clientGroupTableAdapter != null)) {
     6861                    revertConnections.Add(this._clientGroupTableAdapter, this._clientGroupTableAdapter.Connection);
     6862                    this._clientGroupTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
     6863                    this._clientGroupTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
     6864                    if (this._clientGroupTableAdapter.Adapter.AcceptChangesDuringUpdate) {
     6865                        this._clientGroupTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
     6866                        adaptersWithAcceptChangesDuringUpdate.Add(this._clientGroupTableAdapter.Adapter);
     6867                    }
     6868                }
     6869                if ((this._clientGroup_ResourceTableAdapter != null)) {
     6870                    revertConnections.Add(this._clientGroup_ResourceTableAdapter, this._clientGroup_ResourceTableAdapter.Connection);
     6871                    this._clientGroup_ResourceTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
     6872                    this._clientGroup_ResourceTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
     6873                    if (this._clientGroup_ResourceTableAdapter.Adapter.AcceptChangesDuringUpdate) {
     6874                        this._clientGroup_ResourceTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
     6875                        adaptersWithAcceptChangesDuringUpdate.Add(this._clientGroup_ResourceTableAdapter.Adapter);
    54446876                    }
    54456877                }
     
    55266958                    this._permissionOwner_UserGroupTableAdapter.Transaction = null;
    55276959                }
     6960                if ((this._clientGroupTableAdapter != null)) {
     6961                    this._clientGroupTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._clientGroupTableAdapter]));
     6962                    this._clientGroupTableAdapter.Transaction = null;
     6963                }
     6964                if ((this._clientGroup_ResourceTableAdapter != null)) {
     6965                    this._clientGroup_ResourceTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._clientGroup_ResourceTableAdapter]));
     6966                    this._clientGroup_ResourceTableAdapter.Transaction = null;
     6967                }
    55286968                if ((0 < adaptersWithAcceptChangesDuringUpdate.Count)) {
    55296969                    global::System.Data.Common.DataAdapter[] adapters = new System.Data.Common.DataAdapter[adaptersWithAcceptChangesDuringUpdate.Count];
  • trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xsd

    r936 r965  
    407407            </Sources>
    408408          </TableAdapter>
     409          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ClientGroupTableAdapter" GeneratorDataComponentClassName="ClientGroupTableAdapter" Name="ClientGroup" UserDataComponentName="ClientGroupTableAdapter">
     410            <MainSource>
     411              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.ClientGroup" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
     412                <DeleteCommand>
     413                  <DbCommand CommandType="Text" ModifiedByUser="false">
     414                    <CommandText>DELETE FROM [dbo].[ClientGroup] WHERE (([ResourceId] = @Original_ResourceId))</CommandText>
     415                    <Parameters>
     416                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
     417                    </Parameters>
     418                  </DbCommand>
     419                </DeleteCommand>
     420                <InsertCommand>
     421                  <DbCommand CommandType="Text" ModifiedByUser="false">
     422                    <CommandText>INSERT INTO [dbo].[ClientGroup] ([ResourceId]) VALUES (@ResourceId);
     423SELECT ResourceId FROM ClientGroup WHERE (ResourceId = @ResourceId)</CommandText>
     424                    <Parameters>
     425                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
     426                    </Parameters>
     427                  </DbCommand>
     428                </InsertCommand>
     429                <SelectCommand>
     430                  <DbCommand CommandType="Text" ModifiedByUser="false">
     431                    <CommandText>SELECT ResourceId FROM dbo.ClientGroup</CommandText>
     432                    <Parameters />
     433                  </DbCommand>
     434                </SelectCommand>
     435                <UpdateCommand>
     436                  <DbCommand CommandType="Text" ModifiedByUser="false">
     437                    <CommandText>UPDATE [dbo].[ClientGroup] SET [ResourceId] = @ResourceId WHERE (([ResourceId] = @Original_ResourceId));
     438SELECT ResourceId FROM ClientGroup WHERE (ResourceId = @ResourceId)</CommandText>
     439                    <Parameters>
     440                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
     441                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
     442                    </Parameters>
     443                  </DbCommand>
     444                </UpdateCommand>
     445              </DbSource>
     446            </MainSource>
     447            <Mappings>
     448              <Mapping SourceColumn="ResourceId" DataSetColumn="ResourceId" />
     449            </Mappings>
     450            <Sources />
     451          </TableAdapter>
     452          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ClientGroup_ResourceTableAdapter" GeneratorDataComponentClassName="ClientGroup_ResourceTableAdapter" Name="ClientGroup_Resource" UserDataComponentName="ClientGroup_ResourceTableAdapter">
     453            <MainSource>
     454              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="HiveServer.dbo.ClientGroup_Resource" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
     455                <DeleteCommand>
     456                  <DbCommand CommandType="Text" ModifiedByUser="false">
     457                    <CommandText>DELETE FROM [dbo].[ClientGroup_Resource] WHERE (([ClientGroupResource] = @Original_ClientGroupResource) AND ([ResourceId] = @Original_ResourceId))</CommandText>
     458                    <Parameters>
     459                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ClientGroupResource" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientGroupResource" SourceColumnNullMapping="false" SourceVersion="Original" />
     460                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
     461                    </Parameters>
     462                  </DbCommand>
     463                </DeleteCommand>
     464                <InsertCommand>
     465                  <DbCommand CommandType="Text" ModifiedByUser="false">
     466                    <CommandText>INSERT INTO [dbo].[ClientGroup_Resource] ([ClientGroupResource], [ResourceId]) VALUES (@ClientGroupResource, @ResourceId);
     467SELECT ClientGroupResource, ResourceId FROM ClientGroup_Resource WHERE (ClientGroupResource = @ClientGroupResource) AND (ResourceId = @ResourceId)</CommandText>
     468                    <Parameters>
     469                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ClientGroupResource" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientGroupResource" SourceColumnNullMapping="false" SourceVersion="Current" />
     470                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
     471                    </Parameters>
     472                  </DbCommand>
     473                </InsertCommand>
     474                <SelectCommand>
     475                  <DbCommand CommandType="Text" ModifiedByUser="false">
     476                    <CommandText>SELECT ClientGroupResource, ResourceId FROM dbo.ClientGroup_Resource</CommandText>
     477                    <Parameters />
     478                  </DbCommand>
     479                </SelectCommand>
     480                <UpdateCommand>
     481                  <DbCommand CommandType="Text" ModifiedByUser="false">
     482                    <CommandText>UPDATE [dbo].[ClientGroup_Resource] SET [ClientGroupResource] = @ClientGroupResource, [ResourceId] = @ResourceId WHERE (([ClientGroupResource] = @Original_ClientGroupResource) AND ([ResourceId] = @Original_ResourceId));
     483SELECT ClientGroupResource, ResourceId FROM ClientGroup_Resource WHERE (ClientGroupResource = @ClientGroupResource) AND (ResourceId = @ResourceId)</CommandText>
     484                    <Parameters>
     485                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ClientGroupResource" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientGroupResource" SourceColumnNullMapping="false" SourceVersion="Current" />
     486                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
     487                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ClientGroupResource" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ClientGroupResource" SourceColumnNullMapping="false" SourceVersion="Original" />
     488                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Original" />
     489                    </Parameters>
     490                  </DbCommand>
     491                </UpdateCommand>
     492              </DbSource>
     493            </MainSource>
     494            <Mappings>
     495              <Mapping SourceColumn="ClientGroupResource" DataSetColumn="ClientGroupResource" />
     496              <Mapping SourceColumn="ResourceId" DataSetColumn="ResourceId" />
     497            </Mappings>
     498            <Sources />
     499          </TableAdapter>
    409500        </Tables>
    410501        <Sources />
     
    418509          <xs:complexType>
    419510            <xs:sequence>
    420               <xs:element name="ResourceId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
     511              <xs:element name="ResourceId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
     512              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
     513                <xs:simpleType>
     514                  <xs:restriction base="xs:string">
     515                    <xs:maxLength value="18" />
     516                  </xs:restriction>
     517                </xs:simpleType>
     518              </xs:element>
     519            </xs:sequence>
     520          </xs:complexType>
     521        </xs:element>
     522        <xs:element name="Client" msprop:Generator_UserTableName="Client" msprop:Generator_RowDeletedName="ClientRowDeleted" msprop:Generator_RowChangedName="ClientRowChanged" msprop:Generator_RowClassName="ClientRow" msprop:Generator_RowChangingName="ClientRowChanging" msprop:Generator_RowEvArgName="ClientRowChangeEvent" msprop:Generator_RowEvHandlerName="ClientRowChangeEventHandler" msprop:Generator_TableClassName="ClientDataTable" msprop:Generator_TableVarName="tableClient" msprop:Generator_RowDeletingName="ClientRowDeleting" msprop:Generator_TablePropName="Client">
     523          <xs:complexType>
     524            <xs:sequence>
     525              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
     526              <xs:element name="GUID" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="GUID" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" type="xs:string" minOccurs="0" />
     527              <xs:element name="CPUSpeed" msprop:Generator_UserColumnName="CPUSpeed" msprop:Generator_ColumnVarNameInTable="columnCPUSpeed" msprop:Generator_ColumnPropNameInRow="CPUSpeed" msprop:Generator_ColumnPropNameInTable="CPUSpeedColumn" type="xs:int" minOccurs="0" />
     528              <xs:element name="Memory" msprop:Generator_UserColumnName="Memory" msprop:Generator_ColumnVarNameInTable="columnMemory" msprop:Generator_ColumnPropNameInRow="Memory" msprop:Generator_ColumnPropNameInTable="MemoryColumn" type="xs:int" minOccurs="0" />
     529              <xs:element name="Login" msprop:Generator_UserColumnName="Login" msprop:Generator_ColumnVarNameInTable="columnLogin" msprop:Generator_ColumnPropNameInRow="Login" msprop:Generator_ColumnPropNameInTable="LoginColumn" type="xs:dateTime" minOccurs="0" />
     530              <xs:element name="Status" msprop:Generator_UserColumnName="Status" msprop:Generator_ColumnVarNameInTable="columnStatus" msprop:Generator_ColumnPropNameInRow="Status" msprop:Generator_ColumnPropNameInTable="StatusColumn" minOccurs="0">
     531                <xs:simpleType>
     532                  <xs:restriction base="xs:string">
     533                    <xs:maxLength value="18" />
     534                  </xs:restriction>
     535                </xs:simpleType>
     536              </xs:element>
     537              <xs:element name="ClientConfigId" msprop:Generator_UserColumnName="ClientConfigId" msprop:Generator_ColumnVarNameInTable="columnClientConfigId" msprop:Generator_ColumnPropNameInRow="ClientConfigId" msprop:Generator_ColumnPropNameInTable="ClientConfigIdColumn" type="xs:long" minOccurs="0" />
     538              <xs:element name="NumberOfCores" msprop:Generator_UserColumnName="NumberOfCores" msprop:Generator_ColumnVarNameInTable="columnNumberOfCores" msprop:Generator_ColumnPropNameInRow="NumberOfCores" msprop:Generator_ColumnPropNameInTable="NumberOfCoresColumn" type="xs:int" minOccurs="0" />
     539            </xs:sequence>
     540          </xs:complexType>
     541        </xs:element>
     542        <xs:element name="HiveUser" msprop:Generator_UserTableName="HiveUser" msprop:Generator_RowDeletedName="HiveUserRowDeleted" msprop:Generator_RowChangedName="HiveUserRowChanged" msprop:Generator_RowClassName="HiveUserRow" msprop:Generator_RowChangingName="HiveUserRowChanging" msprop:Generator_RowEvArgName="HiveUserRowChangeEvent" msprop:Generator_RowEvHandlerName="HiveUserRowChangeEventHandler" msprop:Generator_TableClassName="HiveUserDataTable" msprop:Generator_TableVarName="tableHiveUser" msprop:Generator_RowDeletingName="HiveUserRowDeleting" msprop:Generator_TablePropName="HiveUser">
     543          <xs:complexType>
     544            <xs:sequence>
     545              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
     546              <xs:element name="Password" msprop:Generator_UserColumnName="Password" msprop:Generator_ColumnVarNameInTable="columnPassword" msprop:Generator_ColumnPropNameInRow="Password" msprop:Generator_ColumnPropNameInTable="PasswordColumn" minOccurs="0">
     547                <xs:simpleType>
     548                  <xs:restriction base="xs:string">
     549                    <xs:maxLength value="18" />
     550                  </xs:restriction>
     551                </xs:simpleType>
     552              </xs:element>
     553            </xs:sequence>
     554          </xs:complexType>
     555        </xs:element>
     556        <xs:element name="PermissionOwner" msprop:Generator_UserTableName="PermissionOwner" msprop:Generator_RowDeletedName="PermissionOwnerRowDeleted" msprop:Generator_RowChangedName="PermissionOwnerRowChanged" msprop:Generator_RowClassName="PermissionOwnerRow" msprop:Generator_RowChangingName="PermissionOwnerRowChanging" msprop:Generator_RowEvArgName="PermissionOwnerRowChangeEvent" msprop:Generator_RowEvHandlerName="PermissionOwnerRowChangeEventHandler" msprop:Generator_TableClassName="PermissionOwnerDataTable" msprop:Generator_TableVarName="tablePermissionOwner" msprop:Generator_RowDeletingName="PermissionOwnerRowDeleting" msprop:Generator_TablePropName="PermissionOwner">
     557          <xs:complexType>
     558            <xs:sequence>
     559              <xs:element name="PermissionOwnerId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
    421560              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
    422561                <xs:simpleType>
     
    429568          </xs:complexType>
    430569        </xs:element>
    431         <xs:element name="Client" msprop:Generator_UserTableName="Client" msprop:Generator_RowDeletedName="ClientRowDeleted" msprop:Generator_RowChangedName="ClientRowChanged" msprop:Generator_RowClassName="ClientRow" msprop:Generator_RowChangingName="ClientRowChanging" msprop:Generator_RowEvArgName="ClientRowChangeEvent" msprop:Generator_RowEvHandlerName="ClientRowChangeEventHandler" msprop:Generator_TableClassName="ClientDataTable" msprop:Generator_TableVarName="tableClient" msprop:Generator_RowDeletingName="ClientRowDeleting" msprop:Generator_TablePropName="Client">
     570        <xs:element name="UserGroup" msprop:Generator_UserTableName="UserGroup" msprop:Generator_RowDeletedName="UserGroupRowDeleted" msprop:Generator_RowChangedName="UserGroupRowChanged" msprop:Generator_RowClassName="UserGroupRow" msprop:Generator_RowChangingName="UserGroupRowChanging" msprop:Generator_RowEvArgName="UserGroupRowChangeEvent" msprop:Generator_RowEvHandlerName="UserGroupRowChangeEventHandler" msprop:Generator_TableClassName="UserGroupDataTable" msprop:Generator_TableVarName="tableUserGroup" msprop:Generator_RowDeletingName="UserGroupRowDeleting" msprop:Generator_TablePropName="UserGroup">
     571          <xs:complexType>
     572            <xs:sequence>
     573              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
     574            </xs:sequence>
     575          </xs:complexType>
     576        </xs:element>
     577        <xs:element name="PermissionOwner_UserGroup" msprop:Generator_UserTableName="PermissionOwner_UserGroup" msprop:Generator_RowDeletedName="PermissionOwner_UserGroupRowDeleted" msprop:Generator_RowChangedName="PermissionOwner_UserGroupRowChanged" msprop:Generator_RowClassName="PermissionOwner_UserGroupRow" msprop:Generator_RowChangingName="PermissionOwner_UserGroupRowChanging" msprop:Generator_RowEvArgName="PermissionOwner_UserGroupRowChangeEvent" msprop:Generator_RowEvHandlerName="PermissionOwner_UserGroupRowChangeEventHandler" msprop:Generator_TableClassName="PermissionOwner_UserGroupDataTable" msprop:Generator_TableVarName="tablePermissionOwner_UserGroup" msprop:Generator_RowDeletingName="PermissionOwner_UserGroupRowDeleting" msprop:Generator_TablePropName="PermissionOwner_UserGroup">
     578          <xs:complexType>
     579            <xs:sequence>
     580              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
     581              <xs:element name="UserGroupId" msprop:Generator_UserColumnName="UserGroupId" msprop:Generator_ColumnVarNameInTable="columnUserGroupId" msprop:Generator_ColumnPropNameInRow="UserGroupId" msprop:Generator_ColumnPropNameInTable="UserGroupIdColumn" type="xs:long" />
     582            </xs:sequence>
     583          </xs:complexType>
     584        </xs:element>
     585        <xs:element name="ClientGroup" msprop:Generator_UserTableName="ClientGroup" msprop:Generator_RowDeletedName="ClientGroupRowDeleted" msprop:Generator_TableClassName="ClientGroupDataTable" msprop:Generator_RowChangedName="ClientGroupRowChanged" msprop:Generator_RowClassName="ClientGroupRow" msprop:Generator_RowChangingName="ClientGroupRowChanging" msprop:Generator_RowEvArgName="ClientGroupRowChangeEvent" msprop:Generator_RowEvHandlerName="ClientGroupRowChangeEventHandler" msprop:Generator_TablePropName="ClientGroup" msprop:Generator_TableVarName="tableClientGroup" msprop:Generator_RowDeletingName="ClientGroupRowDeleting">
    432586          <xs:complexType>
    433587            <xs:sequence>
    434588              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
    435               <xs:element name="GUID" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="GUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" type="xs:string" minOccurs="0" />
    436               <xs:element name="CPUSpeed" msprop:Generator_UserColumnName="CPUSpeed" msprop:Generator_ColumnPropNameInRow="CPUSpeed" msprop:Generator_ColumnVarNameInTable="columnCPUSpeed" msprop:Generator_ColumnPropNameInTable="CPUSpeedColumn" type="xs:int" minOccurs="0" />
    437               <xs:element name="Memory" msprop:Generator_UserColumnName="Memory" msprop:Generator_ColumnPropNameInRow="Memory" msprop:Generator_ColumnVarNameInTable="columnMemory" msprop:Generator_ColumnPropNameInTable="MemoryColumn" type="xs:int" minOccurs="0" />
    438               <xs:element name="Login" msprop:Generator_UserColumnName="Login" msprop:Generator_ColumnPropNameInRow="Login" msprop:Generator_ColumnVarNameInTable="columnLogin" msprop:Generator_ColumnPropNameInTable="LoginColumn" type="xs:dateTime" minOccurs="0" />
    439               <xs:element name="Status" msprop:Generator_UserColumnName="Status" msprop:Generator_ColumnPropNameInRow="Status" msprop:Generator_ColumnVarNameInTable="columnStatus" msprop:Generator_ColumnPropNameInTable="StatusColumn" minOccurs="0">
    440                 <xs:simpleType>
    441                   <xs:restriction base="xs:string">
    442                     <xs:maxLength value="18" />
    443                   </xs:restriction>
    444                 </xs:simpleType>
    445               </xs:element>
    446               <xs:element name="ClientConfigId" msprop:Generator_UserColumnName="ClientConfigId" msprop:Generator_ColumnPropNameInRow="ClientConfigId" msprop:Generator_ColumnVarNameInTable="columnClientConfigId" msprop:Generator_ColumnPropNameInTable="ClientConfigIdColumn" type="xs:long" minOccurs="0" />
    447               <xs:element name="NumberOfCores" msprop:Generator_UserColumnName="NumberOfCores" msprop:Generator_ColumnPropNameInRow="NumberOfCores" msprop:Generator_ColumnVarNameInTable="columnNumberOfCores" msprop:Generator_ColumnPropNameInTable="NumberOfCoresColumn" type="xs:int" minOccurs="0" />
    448             </xs:sequence>
    449           </xs:complexType>
    450         </xs:element>
    451         <xs:element name="HiveUser" msprop:Generator_UserTableName="HiveUser" msprop:Generator_RowDeletedName="HiveUserRowDeleted" msprop:Generator_RowChangedName="HiveUserRowChanged" msprop:Generator_RowClassName="HiveUserRow" msprop:Generator_RowChangingName="HiveUserRowChanging" msprop:Generator_RowEvArgName="HiveUserRowChangeEvent" msprop:Generator_RowEvHandlerName="HiveUserRowChangeEventHandler" msprop:Generator_TableClassName="HiveUserDataTable" msprop:Generator_TableVarName="tableHiveUser" msprop:Generator_RowDeletingName="HiveUserRowDeleting" msprop:Generator_TablePropName="HiveUser">
    452           <xs:complexType>
    453             <xs:sequence>
    454               <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
    455               <xs:element name="Password" msprop:Generator_UserColumnName="Password" msprop:Generator_ColumnPropNameInRow="Password" msprop:Generator_ColumnVarNameInTable="columnPassword" msprop:Generator_ColumnPropNameInTable="PasswordColumn" minOccurs="0">
    456                 <xs:simpleType>
    457                   <xs:restriction base="xs:string">
    458                     <xs:maxLength value="18" />
    459                   </xs:restriction>
    460                 </xs:simpleType>
    461               </xs:element>
    462             </xs:sequence>
    463           </xs:complexType>
    464         </xs:element>
    465         <xs:element name="PermissionOwner" msprop:Generator_UserTableName="PermissionOwner" msprop:Generator_RowDeletedName="PermissionOwnerRowDeleted" msprop:Generator_RowChangedName="PermissionOwnerRowChanged" msprop:Generator_RowClassName="PermissionOwnerRow" msprop:Generator_RowChangingName="PermissionOwnerRowChanging" msprop:Generator_RowEvArgName="PermissionOwnerRowChangeEvent" msprop:Generator_RowEvHandlerName="PermissionOwnerRowChangeEventHandler" msprop:Generator_TableClassName="PermissionOwnerDataTable" msprop:Generator_TableVarName="tablePermissionOwner" msprop:Generator_RowDeletingName="PermissionOwnerRowDeleting" msprop:Generator_TablePropName="PermissionOwner">
    466           <xs:complexType>
    467             <xs:sequence>
    468               <xs:element name="PermissionOwnerId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
    469               <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
    470                 <xs:simpleType>
    471                   <xs:restriction base="xs:string">
    472                     <xs:maxLength value="18" />
    473                   </xs:restriction>
    474                 </xs:simpleType>
    475               </xs:element>
    476             </xs:sequence>
    477           </xs:complexType>
    478         </xs:element>
    479         <xs:element name="UserGroup" msprop:Generator_UserTableName="UserGroup" msprop:Generator_RowDeletedName="UserGroupRowDeleted" msprop:Generator_TableClassName="UserGroupDataTable" msprop:Generator_RowChangedName="UserGroupRowChanged" msprop:Generator_RowClassName="UserGroupRow" msprop:Generator_RowChangingName="UserGroupRowChanging" msprop:Generator_RowEvArgName="UserGroupRowChangeEvent" msprop:Generator_RowEvHandlerName="UserGroupRowChangeEventHandler" msprop:Generator_TablePropName="UserGroup" msprop:Generator_TableVarName="tableUserGroup" msprop:Generator_RowDeletingName="UserGroupRowDeleting">
    480           <xs:complexType>
    481             <xs:sequence>
    482               <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
    483             </xs:sequence>
    484           </xs:complexType>
    485         </xs:element>
    486         <xs:element name="PermissionOwner_UserGroup" msprop:Generator_UserTableName="PermissionOwner_UserGroup" msprop:Generator_RowDeletedName="PermissionOwner_UserGroupRowDeleted" msprop:Generator_TableClassName="PermissionOwner_UserGroupDataTable" msprop:Generator_RowChangedName="PermissionOwner_UserGroupRowChanged" msprop:Generator_RowClassName="PermissionOwner_UserGroupRow" msprop:Generator_RowChangingName="PermissionOwner_UserGroupRowChanging" msprop:Generator_RowEvArgName="PermissionOwner_UserGroupRowChangeEvent" msprop:Generator_RowEvHandlerName="PermissionOwner_UserGroupRowChangeEventHandler" msprop:Generator_TablePropName="PermissionOwner_UserGroup" msprop:Generator_TableVarName="tablePermissionOwner_UserGroup" msprop:Generator_RowDeletingName="PermissionOwner_UserGroupRowDeleting">
    487           <xs:complexType>
    488             <xs:sequence>
    489               <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
    490               <xs:element name="UserGroupId" msprop:Generator_UserColumnName="UserGroupId" msprop:Generator_ColumnPropNameInRow="UserGroupId" msprop:Generator_ColumnVarNameInTable="columnUserGroupId" msprop:Generator_ColumnPropNameInTable="UserGroupIdColumn" type="xs:long" />
     589            </xs:sequence>
     590          </xs:complexType>
     591        </xs:element>
     592        <xs:element name="ClientGroup_Resource" msprop:Generator_UserTableName="ClientGroup_Resource" msprop:Generator_RowDeletedName="ClientGroup_ResourceRowDeleted" msprop:Generator_TableClassName="ClientGroup_ResourceDataTable" msprop:Generator_RowChangedName="ClientGroup_ResourceRowChanged" msprop:Generator_RowClassName="ClientGroup_ResourceRow" msprop:Generator_RowChangingName="ClientGroup_ResourceRowChanging" msprop:Generator_RowEvArgName="ClientGroup_ResourceRowChangeEvent" msprop:Generator_RowEvHandlerName="ClientGroup_ResourceRowChangeEventHandler" msprop:Generator_TablePropName="ClientGroup_Resource" msprop:Generator_TableVarName="tableClientGroup_Resource" msprop:Generator_RowDeletingName="ClientGroup_ResourceRowDeleting">
     593          <xs:complexType>
     594            <xs:sequence>
     595              <xs:element name="ClientGroupResource" msprop:Generator_UserColumnName="ClientGroupResource" msprop:Generator_ColumnPropNameInRow="ClientGroupResource" msprop:Generator_ColumnVarNameInTable="columnClientGroupResource" msprop:Generator_ColumnPropNameInTable="ClientGroupResourceColumn" type="xs:long" />
     596              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
    491597            </xs:sequence>
    492598          </xs:complexType>
     
    518624      <xs:field xpath="mstns:PermissionOwnerId" />
    519625      <xs:field xpath="mstns:UserGroupId" />
     626    </xs:unique>
     627    <xs:unique name="ClientGroup_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
     628      <xs:selector xpath=".//mstns:ClientGroup" />
     629      <xs:field xpath="mstns:ResourceId" />
     630    </xs:unique>
     631    <xs:unique name="ClientGroup_Resource_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
     632      <xs:selector xpath=".//mstns:ClientGroup_Resource" />
     633      <xs:field xpath="mstns:ClientGroupResource" />
     634      <xs:field xpath="mstns:ResourceId" />
    520635    </xs:unique>
    521636  </xs:element>
     
    527642      <msdata:Relationship name="R_44" msdata:parent="PermissionOwner" msdata:child="PermissionOwner_UserGroup" msdata:parentkey="PermissionOwnerId" msdata:childkey="PermissionOwnerId" msprop:Generator_UserRelationName="R_44" msprop:Generator_RelationVarName="relationR_44" msprop:Generator_UserChildTable="PermissionOwner_UserGroup" msprop:Generator_UserParentTable="PermissionOwner" msprop:Generator_ParentPropName="PermissionOwnerRow" msprop:Generator_ChildPropName="GetPermissionOwner_UserGroupRows" />
    528643      <msdata:Relationship name="R_57" msdata:parent="UserGroup" msdata:child="PermissionOwner_UserGroup" msdata:parentkey="PermissionOwnerId" msdata:childkey="UserGroupId" msprop:Generator_UserRelationName="R_57" msprop:Generator_RelationVarName="relationR_57" msprop:Generator_UserChildTable="PermissionOwner_UserGroup" msprop:Generator_UserParentTable="UserGroup" msprop:Generator_ParentPropName="UserGroupRow" msprop:Generator_ChildPropName="GetPermissionOwner_UserGroupRows" />
     644      <msdata:Relationship name="ClientGroup_is_a_Resource" msdata:parent="Resource" msdata:child="ClientGroup" msdata:parentkey="ResourceId" msdata:childkey="ResourceId" msprop:Generator_UserRelationName="ClientGroup_is_a_Resource" msprop:Generator_RelationVarName="relationClientGroup_is_a_Resource" msprop:Generator_UserChildTable="ClientGroup" msprop:Generator_UserParentTable="Resource" msprop:Generator_ParentPropName="ResourceRow" msprop:Generator_ChildPropName="GetClientGroupRows" />
     645      <msdata:Relationship name="R_52" msdata:parent="ClientGroup" msdata:child="ClientGroup_Resource" msdata:parentkey="ResourceId" msdata:childkey="ClientGroupResource" msprop:Generator_UserRelationName="R_52" msprop:Generator_RelationVarName="relationR_52" msprop:Generator_UserChildTable="ClientGroup_Resource" msprop:Generator_UserParentTable="ClientGroup" msprop:Generator_ParentPropName="ClientGroupRow" msprop:Generator_ChildPropName="GetClientGroup_ResourceRows" />
     646      <msdata:Relationship name="R_59" msdata:parent="Resource" msdata:child="ClientGroup_Resource" msdata:parentkey="ResourceId" msdata:childkey="ResourceId" msprop:Generator_UserRelationName="R_59" msprop:Generator_RelationVarName="relationR_59" msprop:Generator_UserChildTable="ClientGroup_Resource" msprop:Generator_UserParentTable="Resource" msprop:Generator_ParentPropName="ResourceRow" msprop:Generator_ChildPropName="GetClientGroup_ResourceRows" />
    529647    </xs:appinfo>
    530648  </xs:annotation>
  • trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xss

    r936 r965  
    55     the code is regenerated.
    66</autogenerated>-->
    7 <DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="5" ViewPortY="-47" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
     7<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-40" ViewPortY="-47" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
    88  <Shapes>
    9     <Shape ID="DesignTable:Resource" ZOrder="9" X="31" Y="-16" Height="122" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
    10     <Shape ID="DesignTable:Client" ZOrder="8" X="-89" Y="148" Height="224" Width="176" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
    11     <Shape ID="DesignTable:HiveUser" ZOrder="5" X="492" Y="150" Height="139" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
    12     <Shape ID="DesignTable:PermissionOwner" ZOrder="7" X="298" Y="-16" Height="122" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
    13     <Shape ID="DesignTable:UserGroup" ZOrder="6" X="252" Y="405" Height="88" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="42" />
    14     <Shape ID="DesignTable:PermissionOwner_UserGroup" ZOrder="4" X="112" Y="182" Height="122" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
     9    <Shape ID="DesignTable:Resource" ZOrder="15" X="31" Y="-16" Height="122" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
     10    <Shape ID="DesignTable:Client" ZOrder="14" X="-89" Y="148" Height="224" Width="176" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
     11    <Shape ID="DesignTable:HiveUser" ZOrder="11" X="885" Y="224" Height="139" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
     12    <Shape ID="DesignTable:PermissionOwner" ZOrder="10" X="572" Y="-7" Height="122" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
     13    <Shape ID="DesignTable:UserGroup" ZOrder="9" X="566" Y="409" Height="88" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="42" />
     14    <Shape ID="DesignTable:PermissionOwner_UserGroup" ZOrder="3" X="456" Y="215" Height="122" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
     15    <Shape ID="DesignTable:ClientGroup" ZOrder="7" X="78" Y="417" Height="88" Width="176" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="42" />
     16    <Shape ID="DesignTable:ClientGroup_Resource" ZOrder="6" X="150" Y="227" Height="105" Width="269" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
    1517  </Shapes>
    1618  <Connectors>
    17     <Connector ID="DesignRelation:Client_is_a_Resource" ZOrder="11" LineWidth="11">
     19    <Connector ID="DesignRelation:Client_is_a_Resource" ZOrder="16" LineWidth="11">
    1820      <RoutePoints>
    1921        <Point>
     
    2729      </RoutePoints>
    2830    </Connector>
    29     <Connector ID="DesignRelation:User_is_a_PermissionOwner" ZOrder="10" LineWidth="11">
     31    <Connector ID="DesignRelation:User_is_a_PermissionOwner" ZOrder="1" LineWidth="11">
    3032      <RoutePoints>
    3133        <Point>
    32           <X>516</X>
     34          <X>797</X>
     35          <Y>115</Y>
     36        </Point>
     37        <Point>
     38          <X>797</X>
     39          <Y>241</Y>
     40        </Point>
     41        <Point>
     42          <X>885</X>
     43          <Y>241</Y>
     44        </Point>
     45      </RoutePoints>
     46    </Connector>
     47    <Connector ID="DesignRelation:UserGroup_is_a_PermissionOwner" ZOrder="12" LineWidth="11">
     48      <RoutePoints>
     49        <Point>
     50          <X>779</X>
     51          <Y>115</Y>
     52        </Point>
     53        <Point>
     54          <X>779</X>
     55          <Y>426</Y>
     56        </Point>
     57        <Point>
     58          <X>768</X>
     59          <Y>426</Y>
     60        </Point>
     61      </RoutePoints>
     62    </Connector>
     63    <Connector ID="DesignRelation:R_44" ZOrder="2" LineWidth="11">
     64      <RoutePoints>
     65        <Point>
     66          <X>754</X>
     67          <Y>115</Y>
     68        </Point>
     69        <Point>
     70          <X>754</X>
     71          <Y>215</Y>
     72        </Point>
     73      </RoutePoints>
     74    </Connector>
     75    <Connector ID="DesignRelation:R_57" ZOrder="13" LineWidth="11">
     76      <RoutePoints>
     77        <Point>
     78          <X>652</X>
     79          <Y>409</Y>
     80        </Point>
     81        <Point>
     82          <X>652</X>
     83          <Y>337</Y>
     84        </Point>
     85      </RoutePoints>
     86    </Connector>
     87    <Connector ID="DesignRelation:ClientGroup_is_a_Resource" ZOrder="8" LineWidth="11">
     88      <RoutePoints>
     89        <Point>
     90          <X>122</X>
    3391          <Y>106</Y>
    3492        </Point>
    3593        <Point>
    36           <X>516</X>
    37           <Y>150</Y>
     94          <X>122</X>
     95          <Y>417</Y>
    3896        </Point>
    3997      </RoutePoints>
    4098    </Connector>
    41     <Connector ID="DesignRelation:UserGroup_is_a_PermissionOwner" ZOrder="1" LineWidth="11">
     99    <Connector ID="DesignRelation:R_52" ZOrder="5" LineWidth="11">
    42100      <RoutePoints>
    43101        <Point>
    44           <X>432</X>
     102          <X>161</X>
     103          <Y>417</Y>
     104        </Point>
     105        <Point>
     106          <X>161</X>
     107          <Y>332</Y>
     108        </Point>
     109      </RoutePoints>
     110    </Connector>
     111    <Connector ID="DesignRelation:R_59" ZOrder="4" LineWidth="11">
     112      <RoutePoints>
     113        <Point>
     114          <X>159</X>
    45115          <Y>106</Y>
    46116        </Point>
    47117        <Point>
    48           <X>432</X>
    49           <Y>405</Y>
    50         </Point>
    51       </RoutePoints>
    52     </Connector>
    53     <Connector ID="DesignRelation:R_44" ZOrder="3" LineWidth="11">
    54       <RoutePoints>
    55         <Point>
    56           <X>346</X>
    57           <Y>106</Y>
    58         </Point>
    59         <Point>
    60           <X>346</X>
    61           <Y>182</Y>
    62         </Point>
    63       </RoutePoints>
    64     </Connector>
    65     <Connector ID="DesignRelation:R_57" ZOrder="2" LineWidth="11">
    66       <RoutePoints>
    67         <Point>
    68           <X>346</X>
    69           <Y>405</Y>
    70         </Point>
    71         <Point>
    72           <X>346</X>
    73           <Y>304</Y>
     118          <X>159</X>
     119          <Y>227</Y>
    74120        </Point>
    75121      </RoutePoints>
  • trunk/sources/HeuristicLab.Hive.Server.Core/DbTestApp.cs

    r939 r965  
    162162    }
    163163
     164    private void TestClientGroupAdapter() {
     165      IClientGroupAdapter clientGroupAdapter =
     166       ServiceLocator.GetClientGroupAdapter();
     167
     168      ClientInfo client =
     169        new ClientInfo();
     170      client.Name = "Stefan";
     171      client.ClientId = Guid.NewGuid();
     172
     173      ClientInfo client2 =
     174        new ClientInfo();
     175      client2.Name = "Martin";
     176      client2.ClientId = Guid.NewGuid();
     177
     178      ClientInfo client3 =
     179        new ClientInfo();
     180      client3.Name = "Heinz";
     181      client3.ClientId = Guid.NewGuid();
     182
     183      ClientGroup group =
     184        new ClientGroup();
     185
     186      ClientGroup subGroup =
     187        new ClientGroup();
     188      subGroup.Resources.Add(client);
     189
     190      group.Resources.Add(client3);
     191      group.Resources.Add(client2);
     192      group.Resources.Add(subGroup);
     193
     194      clientGroupAdapter.UpdateClientGroup(group);
     195
     196      ClientGroup read =
     197        clientGroupAdapter.GetClientGroupById(group.ResourceId);
     198
     199      ICollection<ClientGroup> clientGroups =
     200        clientGroupAdapter.GetAllClientGroups();
     201
     202      IClientAdapter clientAdapter =
     203        ServiceLocator.GetClientAdapter();
     204
     205      clientAdapter.DeleteClient(client3);
     206
     207      read =
     208         clientGroupAdapter.GetClientGroupById(group.ResourceId);
     209
     210      clientGroupAdapter.DeleteClientGroup(subGroup);
     211
     212      read =
     213         clientGroupAdapter.GetClientGroupById(group.ResourceId);
     214
     215      clientGroups =
     216        clientGroupAdapter.GetAllClientGroups();
     217
     218      clientGroupAdapter.DeleteClientGroup(group);
     219
     220      clientGroups =
     221        clientGroupAdapter.GetAllClientGroups();
     222
     223      clientAdapter.DeleteClient(client);
     224      clientAdapter.DeleteClient(client2);
     225    }
     226
    164227    public override void Run() {
    165228      TestClientAdapter();
    166229      TestUserAdapter();
    167230      TestUserGroupAdapter();
     231      TestClientGroupAdapter();
    168232
    169233      ITransactionManager transactionManager =
  • trunk/sources/HeuristicLab.Hive.Server.Core/InternalInterfaces/DataAccess/IClientAdapter.cs

    r826 r965  
    4545
    4646    /// <summary>
     47    /// Get the client with the specified ID
     48    /// </summary>
     49    /// <param name="clientId"></param>
     50    /// <returns></returns>
     51    ClientInfo GetClientById(long id);
     52
     53    /// <summary>
    4754    /// Get all clients
    4855    /// </summary>
  • trunk/sources/HeuristicLab.Hive.Server.Core/InternalInterfaces/DataAccess/IClientGroupAdapter.cs

    r910 r965  
    5151
    5252    /// <summary>
     53    /// Gets all client groups where the resource is member of
     54    /// </summary>
     55    /// <param name="permOwner"></param>
     56    /// <returns></returns>
     57    ICollection<ClientGroup> MemberOf(Resource resource);
     58
     59    /// <summary>
    5360    /// Deletes the client group
    5461    /// </summary>
Note: See TracChangeset for help on using the changeset viewer.