Index: /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/HeuristicLab.Clients.Access.csproj
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/HeuristicLab.Clients.Access.csproj (revision 6820)
+++ /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/HeuristicLab.Clients.Access.csproj (revision 6820)
@@ -0,0 +1,75 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {494F87F4-0F25-4D33-A382-10CDB2174D48}
+ Library
+ Properties
+ HeuristicLab.Clients.Access
+ HeuristicLab.Clients.Access
+ v4.0
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ true
+
+
+ HeuristicLab.snk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+call PreBuildEvent.cmd
+
+
+
Index: /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/Properties/AssemblyInfo.frame (revision 6820)
+++ /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/Properties/AssemblyInfo.frame (revision 6820)
@@ -0,0 +1,57 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see .
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Services.Clients.Access")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2011 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("7032d7ba-4799-4708-803d-9f6cb3feed35")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("3.3.5.0")]
+[assembly: AssemblyFileVersion("3.3.5.$WCREV$")]
Index: /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/ServiceClients/AccessServiceClient.cs
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/ServiceClients/AccessServiceClient.cs (revision 6820)
+++ /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/ServiceClients/AccessServiceClient.cs (revision 6820)
@@ -0,0 +1,1133 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.237
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Clients.Access
+{
+ using System.Runtime.Serialization;
+ using System;
+
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="AccessItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+ "")]
+ [System.SerializableAttribute()]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientLog))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.User))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroup))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Role))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Resource))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
+ public partial class AccessItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+ {
+
+ [System.NonSerializedAttribute()]
+ private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+ public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+ {
+ get
+ {
+ return this.extensionDataField;
+ }
+ set
+ {
+ this.extensionDataField = value;
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName)
+ {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null))
+ {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="ClientLog", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+ "")]
+ [System.SerializableAttribute()]
+ public partial class ClientLog : HeuristicLab.Clients.Access.AccessItem
+ {
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string ExceptionField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string MessageField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.Guid ResourceIdField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.DateTime TimestampField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string Exception
+ {
+ get
+ {
+ return this.ExceptionField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.ExceptionField, value) != true))
+ {
+ this.ExceptionField = value;
+ this.RaisePropertyChanged("Exception");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string Message
+ {
+ get
+ {
+ return this.MessageField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.MessageField, value) != true))
+ {
+ this.MessageField = value;
+ this.RaisePropertyChanged("Message");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.Guid ResourceId
+ {
+ get
+ {
+ return this.ResourceIdField;
+ }
+ set
+ {
+ if ((this.ResourceIdField.Equals(value) != true))
+ {
+ this.ResourceIdField = value;
+ this.RaisePropertyChanged("ResourceId");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.DateTime Timestamp
+ {
+ get
+ {
+ return this.TimestampField;
+ }
+ set
+ {
+ if ((this.TimestampField.Equals(value) != true))
+ {
+ this.TimestampField = value;
+ this.RaisePropertyChanged("Timestamp");
+ }
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="User", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+ "")]
+ [System.SerializableAttribute()]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Resource))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.AccessItem))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientLog))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroup))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Role))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List))]
+ public partial class User : HeuristicLab.Clients.Access.AccessItem
+ {
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string CommentField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.DateTime CreationDateField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string EmailField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string FullNameField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private bool IsApprovedField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private bool IsLockedOutField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private bool IsOnlineField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.DateTime LastActivityDateField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.DateTime LastLockoutDateField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.DateTime LastLoginDateField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.DateTime LastPasswordChangedDateField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string PasswordQuestionField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string ProviderNameField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private object ProviderUserKeyField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.Collections.Generic.List UserGroupsField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string UserNameField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string Comment
+ {
+ get
+ {
+ return this.CommentField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.CommentField, value) != true))
+ {
+ this.CommentField = value;
+ this.RaisePropertyChanged("Comment");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.DateTime CreationDate
+ {
+ get
+ {
+ return this.CreationDateField;
+ }
+ set
+ {
+ if ((this.CreationDateField.Equals(value) != true))
+ {
+ this.CreationDateField = value;
+ this.RaisePropertyChanged("CreationDate");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string Email
+ {
+ get
+ {
+ return this.EmailField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.EmailField, value) != true))
+ {
+ this.EmailField = value;
+ this.RaisePropertyChanged("Email");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string FullName
+ {
+ get
+ {
+ return this.FullNameField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.FullNameField, value) != true))
+ {
+ this.FullNameField = value;
+ this.RaisePropertyChanged("FullName");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public bool IsApproved
+ {
+ get
+ {
+ return this.IsApprovedField;
+ }
+ set
+ {
+ if ((this.IsApprovedField.Equals(value) != true))
+ {
+ this.IsApprovedField = value;
+ this.RaisePropertyChanged("IsApproved");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public bool IsLockedOut
+ {
+ get
+ {
+ return this.IsLockedOutField;
+ }
+ set
+ {
+ if ((this.IsLockedOutField.Equals(value) != true))
+ {
+ this.IsLockedOutField = value;
+ this.RaisePropertyChanged("IsLockedOut");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public bool IsOnline
+ {
+ get
+ {
+ return this.IsOnlineField;
+ }
+ set
+ {
+ if ((this.IsOnlineField.Equals(value) != true))
+ {
+ this.IsOnlineField = value;
+ this.RaisePropertyChanged("IsOnline");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.DateTime LastActivityDate
+ {
+ get
+ {
+ return this.LastActivityDateField;
+ }
+ set
+ {
+ if ((this.LastActivityDateField.Equals(value) != true))
+ {
+ this.LastActivityDateField = value;
+ this.RaisePropertyChanged("LastActivityDate");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.DateTime LastLockoutDate
+ {
+ get
+ {
+ return this.LastLockoutDateField;
+ }
+ set
+ {
+ if ((this.LastLockoutDateField.Equals(value) != true))
+ {
+ this.LastLockoutDateField = value;
+ this.RaisePropertyChanged("LastLockoutDate");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.DateTime LastLoginDate
+ {
+ get
+ {
+ return this.LastLoginDateField;
+ }
+ set
+ {
+ if ((this.LastLoginDateField.Equals(value) != true))
+ {
+ this.LastLoginDateField = value;
+ this.RaisePropertyChanged("LastLoginDate");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.DateTime LastPasswordChangedDate
+ {
+ get
+ {
+ return this.LastPasswordChangedDateField;
+ }
+ set
+ {
+ if ((this.LastPasswordChangedDateField.Equals(value) != true))
+ {
+ this.LastPasswordChangedDateField = value;
+ this.RaisePropertyChanged("LastPasswordChangedDate");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string PasswordQuestion
+ {
+ get
+ {
+ return this.PasswordQuestionField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.PasswordQuestionField, value) != true))
+ {
+ this.PasswordQuestionField = value;
+ this.RaisePropertyChanged("PasswordQuestion");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string ProviderName
+ {
+ get
+ {
+ return this.ProviderNameField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.ProviderNameField, value) != true))
+ {
+ this.ProviderNameField = value;
+ this.RaisePropertyChanged("ProviderName");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public object ProviderUserKey
+ {
+ get
+ {
+ return this.ProviderUserKeyField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.ProviderUserKeyField, value) != true))
+ {
+ this.ProviderUserKeyField = value;
+ this.RaisePropertyChanged("ProviderUserKey");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.Collections.Generic.List UserGroups
+ {
+ get
+ {
+ return this.UserGroupsField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.UserGroupsField, value) != true))
+ {
+ this.UserGroupsField = value;
+ this.RaisePropertyChanged("UserGroups");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string UserName
+ {
+ get
+ {
+ return this.UserNameField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.UserNameField, value) != true))
+ {
+ this.UserNameField = value;
+ this.RaisePropertyChanged("UserName");
+ }
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="UserGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+ "")]
+ [System.SerializableAttribute()]
+ public partial class UserGroup : HeuristicLab.Clients.Access.AccessItem
+ {
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string NameField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.Guid ParentUserGroupField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string Name
+ {
+ get
+ {
+ return this.NameField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.NameField, value) != true))
+ {
+ this.NameField = value;
+ this.RaisePropertyChanged("Name");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.Guid ParentUserGroup
+ {
+ get
+ {
+ return this.ParentUserGroupField;
+ }
+ set
+ {
+ if ((this.ParentUserGroupField.Equals(value) != true))
+ {
+ this.ParentUserGroupField = value;
+ this.RaisePropertyChanged("ParentUserGroup");
+ }
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="Role", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+ "")]
+ [System.SerializableAttribute()]
+ public partial class Role : HeuristicLab.Clients.Access.AccessItem
+ {
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string RoleNameField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string RoleName
+ {
+ get
+ {
+ return this.RoleNameField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.RoleNameField, value) != true))
+ {
+ this.RoleNameField = value;
+ this.RaisePropertyChanged("RoleName");
+ }
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="Resource", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+ "")]
+ [System.SerializableAttribute()]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
+ public partial class Resource : HeuristicLab.Clients.Access.AccessItem
+ {
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string DescriptionField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.Guid IdField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string NameField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.Collections.Generic.List ParentGroupsField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string TypeField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string Description
+ {
+ get
+ {
+ return this.DescriptionField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+ {
+ this.DescriptionField = value;
+ this.RaisePropertyChanged("Description");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.Guid Id
+ {
+ get
+ {
+ return this.IdField;
+ }
+ set
+ {
+ if ((this.IdField.Equals(value) != true))
+ {
+ this.IdField = value;
+ this.RaisePropertyChanged("Id");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string Name
+ {
+ get
+ {
+ return this.NameField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.NameField, value) != true))
+ {
+ this.NameField = value;
+ this.RaisePropertyChanged("Name");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.Collections.Generic.List ParentGroups
+ {
+ get
+ {
+ return this.ParentGroupsField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.ParentGroupsField, value) != true))
+ {
+ this.ParentGroupsField = value;
+ this.RaisePropertyChanged("ParentGroups");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string Type
+ {
+ get
+ {
+ return this.TypeField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.TypeField, value) != true))
+ {
+ this.TypeField = value;
+ this.RaisePropertyChanged("Type");
+ }
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="ClientGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+ "")]
+ [System.SerializableAttribute()]
+ public partial class ClientGroup : HeuristicLab.Clients.Access.Resource
+ {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="Client", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+ "")]
+ [System.SerializableAttribute()]
+ public partial class Client : HeuristicLab.Clients.Access.Resource
+ {
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string CountryField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string HeuristicLabVersionField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string IPAddressField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.Nullable MemorySizeField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private System.Nullable NumberOfCoresField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string OperatingSystemField;
+
+ [System.Runtime.Serialization.OptionalFieldAttribute()]
+ private string ProcessorTypeField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string Country
+ {
+ get
+ {
+ return this.CountryField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.CountryField, value) != true))
+ {
+ this.CountryField = value;
+ this.RaisePropertyChanged("Country");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string HeuristicLabVersion
+ {
+ get
+ {
+ return this.HeuristicLabVersionField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.HeuristicLabVersionField, value) != true))
+ {
+ this.HeuristicLabVersionField = value;
+ this.RaisePropertyChanged("HeuristicLabVersion");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string IPAddress
+ {
+ get
+ {
+ return this.IPAddressField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.IPAddressField, value) != true))
+ {
+ this.IPAddressField = value;
+ this.RaisePropertyChanged("IPAddress");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.Nullable MemorySize
+ {
+ get
+ {
+ return this.MemorySizeField;
+ }
+ set
+ {
+ if ((this.MemorySizeField.Equals(value) != true))
+ {
+ this.MemorySizeField = value;
+ this.RaisePropertyChanged("MemorySize");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.Nullable NumberOfCores
+ {
+ get
+ {
+ return this.NumberOfCoresField;
+ }
+ set
+ {
+ if ((this.NumberOfCoresField.Equals(value) != true))
+ {
+ this.NumberOfCoresField = value;
+ this.RaisePropertyChanged("NumberOfCores");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string OperatingSystem
+ {
+ get
+ {
+ return this.OperatingSystemField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.OperatingSystemField, value) != true))
+ {
+ this.OperatingSystemField = value;
+ this.RaisePropertyChanged("OperatingSystem");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string ProcessorType
+ {
+ get
+ {
+ return this.ProcessorTypeField;
+ }
+ set
+ {
+ if ((object.ReferenceEquals(this.ProcessorTypeField, value) != true))
+ {
+ this.ProcessorTypeField = value;
+ this.RaisePropertyChanged("ProcessorType");
+ }
+ }
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(ConfigurationName="HeuristicLab.Clients.Access.IAccessService")]
+ public interface IAccessService
+ {
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/ClientExists", ReplyAction="http://tempuri.org/IAccessService/ClientExistsResponse")]
+ bool ClientExists(System.Guid id);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClient", ReplyAction="http://tempuri.org/IAccessService/GetClientResponse")]
+ HeuristicLab.Clients.Access.Client GetClient(System.Guid id);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClients", ReplyAction="http://tempuri.org/IAccessService/GetClientsResponse")]
+ System.Collections.Generic.List GetClients();
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClient", ReplyAction="http://tempuri.org/IAccessService/AddClientResponse")]
+ System.Guid AddClient(HeuristicLab.Clients.Access.Client client);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateClient", ReplyAction="http://tempuri.org/IAccessService/UpdateClientResponse")]
+ void UpdateClient(HeuristicLab.Clients.Access.Client client);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteClient", ReplyAction="http://tempuri.org/IAccessService/DeleteClientResponse")]
+ void DeleteClient(HeuristicLab.Clients.Access.Client client);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetLastClientLog", ReplyAction="http://tempuri.org/IAccessService/GetLastClientLogResponse")]
+ HeuristicLab.Clients.Access.ClientLog GetLastClientLog(System.Guid clientId);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientLogs", ReplyAction="http://tempuri.org/IAccessService/GetClientLogsResponse")]
+ System.Collections.Generic.List GetClientLogs(System.Guid clientId);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientLogsSince", ReplyAction="http://tempuri.org/IAccessService/GetClientLogsSinceResponse")]
+ System.Collections.Generic.List GetClientLogsSince(System.DateTime startDate);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClientLogEntry", ReplyAction="http://tempuri.org/IAccessService/AddClientLogEntryResponse")]
+ void AddClientLogEntry(HeuristicLab.Clients.Access.ClientLog log);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteClientLogEntry", ReplyAction="http://tempuri.org/IAccessService/DeleteClientLogEntryResponse")]
+ void DeleteClientLogEntry(HeuristicLab.Clients.Access.ClientLog log);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientGroups", ReplyAction="http://tempuri.org/IAccessService/GetClientGroupsResponse")]
+ System.Collections.Generic.List GetClientGroups();
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClientGroup", ReplyAction="http://tempuri.org/IAccessService/AddClientGroupResponse")]
+ System.Guid AddClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateClientGroup", ReplyAction="http://tempuri.org/IAccessService/UpdateClientGroupResponse")]
+ void UpdateClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteClientGroup", ReplyAction="http://tempuri.org/IAccessService/DeleteClientGroupResponse")]
+ void DeleteClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/Login", ReplyAction="http://tempuri.org/IAccessService/LoginResponse")]
+ void Login();
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUsers", ReplyAction="http://tempuri.org/IAccessService/GetUsersResponse")]
+ System.Collections.Generic.List GetUsers();
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUser", ReplyAction="http://tempuri.org/IAccessService/AddUserResponse")]
+ HeuristicLab.Clients.Access.User AddUser(HeuristicLab.Clients.Access.User user);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteUser", ReplyAction="http://tempuri.org/IAccessService/DeleteUserResponse")]
+ void DeleteUser(HeuristicLab.Clients.Access.User user);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateUser", ReplyAction="http://tempuri.org/IAccessService/UpdateUserResponse")]
+ void UpdateUser(HeuristicLab.Clients.Access.User user);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUserToRole", ReplyAction="http://tempuri.org/IAccessService/AddUserToRoleResponse")]
+ void AddUserToRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/RemoveUserFromRole", ReplyAction="http://tempuri.org/IAccessService/RemoveUserFromRoleResponse")]
+ void RemoveUserFromRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/ResetPassword", ReplyAction="http://tempuri.org/IAccessService/ResetPasswordResponse")]
+ void ResetPassword(HeuristicLab.Clients.Access.User user, string password);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetRoles", ReplyAction="http://tempuri.org/IAccessService/GetRolesResponse")]
+ System.Collections.Generic.List GetRoles();
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddRole", ReplyAction="http://tempuri.org/IAccessService/AddRoleResponse")]
+ HeuristicLab.Clients.Access.Role AddRole(HeuristicLab.Clients.Access.Role role);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateRole", ReplyAction="http://tempuri.org/IAccessService/UpdateRoleResponse")]
+ void UpdateRole(HeuristicLab.Clients.Access.Role role);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteRole", ReplyAction="http://tempuri.org/IAccessService/DeleteRoleResponse")]
+ void DeleteRole(HeuristicLab.Clients.Access.Role role);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserRoles", ReplyAction="http://tempuri.org/IAccessService/GetUserRolesResponse")]
+ System.Collections.Generic.List GetUserRoles(HeuristicLab.Clients.Access.User user);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserGroups", ReplyAction="http://tempuri.org/IAccessService/GetUserGroupsResponse")]
+ System.Collections.Generic.List GetUserGroups();
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUserGroup", ReplyAction="http://tempuri.org/IAccessService/AddUserGroupResponse")]
+ HeuristicLab.Clients.Access.UserGroup AddUserGroup(HeuristicLab.Clients.Access.UserGroup group);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateUserGroup", ReplyAction="http://tempuri.org/IAccessService/UpdateUserGroupResponse")]
+ void UpdateUserGroup(HeuristicLab.Clients.Access.UserGroup group);
+
+ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteUserGroup", ReplyAction="http://tempuri.org/IAccessService/DeleteUserGroupResponse")]
+ void DeleteUserGroup(HeuristicLab.Clients.Access.UserGroup group);
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ public interface IAccessServiceChannel : HeuristicLab.Clients.Access.IAccessService, System.ServiceModel.IClientChannel
+ {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ public partial class AccessServiceClient : System.ServiceModel.ClientBase, HeuristicLab.Clients.Access.IAccessService
+ {
+
+ public AccessServiceClient()
+ {
+ }
+
+ public AccessServiceClient(string endpointConfigurationName) :
+ base(endpointConfigurationName)
+ {
+ }
+
+ public AccessServiceClient(string endpointConfigurationName, string remoteAddress) :
+ base(endpointConfigurationName, remoteAddress)
+ {
+ }
+
+ public AccessServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(endpointConfigurationName, remoteAddress)
+ {
+ }
+
+ public AccessServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress)
+ {
+ }
+
+ public bool ClientExists(System.Guid id)
+ {
+ return base.Channel.ClientExists(id);
+ }
+
+ public HeuristicLab.Clients.Access.Client GetClient(System.Guid id)
+ {
+ return base.Channel.GetClient(id);
+ }
+
+ public System.Collections.Generic.List GetClients()
+ {
+ return base.Channel.GetClients();
+ }
+
+ public System.Guid AddClient(HeuristicLab.Clients.Access.Client client)
+ {
+ return base.Channel.AddClient(client);
+ }
+
+ public void UpdateClient(HeuristicLab.Clients.Access.Client client)
+ {
+ base.Channel.UpdateClient(client);
+ }
+
+ public void DeleteClient(HeuristicLab.Clients.Access.Client client)
+ {
+ base.Channel.DeleteClient(client);
+ }
+
+ public HeuristicLab.Clients.Access.ClientLog GetLastClientLog(System.Guid clientId)
+ {
+ return base.Channel.GetLastClientLog(clientId);
+ }
+
+ public System.Collections.Generic.List GetClientLogs(System.Guid clientId)
+ {
+ return base.Channel.GetClientLogs(clientId);
+ }
+
+ public System.Collections.Generic.List GetClientLogsSince(System.DateTime startDate)
+ {
+ return base.Channel.GetClientLogsSince(startDate);
+ }
+
+ public void AddClientLogEntry(HeuristicLab.Clients.Access.ClientLog log)
+ {
+ base.Channel.AddClientLogEntry(log);
+ }
+
+ public void DeleteClientLogEntry(HeuristicLab.Clients.Access.ClientLog log)
+ {
+ base.Channel.DeleteClientLogEntry(log);
+ }
+
+ public System.Collections.Generic.List GetClientGroups()
+ {
+ return base.Channel.GetClientGroups();
+ }
+
+ public System.Guid AddClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
+ {
+ return base.Channel.AddClientGroup(group);
+ }
+
+ public void UpdateClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
+ {
+ base.Channel.UpdateClientGroup(group);
+ }
+
+ public void DeleteClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
+ {
+ base.Channel.DeleteClientGroup(group);
+ }
+
+ public void Login()
+ {
+ base.Channel.Login();
+ }
+
+ public System.Collections.Generic.List GetUsers()
+ {
+ return base.Channel.GetUsers();
+ }
+
+ public HeuristicLab.Clients.Access.User AddUser(HeuristicLab.Clients.Access.User user)
+ {
+ return base.Channel.AddUser(user);
+ }
+
+ public void DeleteUser(HeuristicLab.Clients.Access.User user)
+ {
+ base.Channel.DeleteUser(user);
+ }
+
+ public void UpdateUser(HeuristicLab.Clients.Access.User user)
+ {
+ base.Channel.UpdateUser(user);
+ }
+
+ public void AddUserToRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user)
+ {
+ base.Channel.AddUserToRole(role, user);
+ }
+
+ public void RemoveUserFromRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user)
+ {
+ base.Channel.RemoveUserFromRole(role, user);
+ }
+
+ public void ResetPassword(HeuristicLab.Clients.Access.User user, string password)
+ {
+ base.Channel.ResetPassword(user, password);
+ }
+
+ public System.Collections.Generic.List GetRoles()
+ {
+ return base.Channel.GetRoles();
+ }
+
+ public HeuristicLab.Clients.Access.Role AddRole(HeuristicLab.Clients.Access.Role role)
+ {
+ return base.Channel.AddRole(role);
+ }
+
+ public void UpdateRole(HeuristicLab.Clients.Access.Role role)
+ {
+ base.Channel.UpdateRole(role);
+ }
+
+ public void DeleteRole(HeuristicLab.Clients.Access.Role role)
+ {
+ base.Channel.DeleteRole(role);
+ }
+
+ public System.Collections.Generic.List GetUserRoles(HeuristicLab.Clients.Access.User user)
+ {
+ return base.Channel.GetUserRoles(user);
+ }
+
+ public System.Collections.Generic.List GetUserGroups()
+ {
+ return base.Channel.GetUserGroups();
+ }
+
+ public HeuristicLab.Clients.Access.UserGroup AddUserGroup(HeuristicLab.Clients.Access.UserGroup group)
+ {
+ return base.Channel.AddUserGroup(group);
+ }
+
+ public void UpdateUserGroup(HeuristicLab.Clients.Access.UserGroup group)
+ {
+ base.Channel.UpdateUserGroup(group);
+ }
+
+ public void DeleteUserGroup(HeuristicLab.Clients.Access.UserGroup group)
+ {
+ base.Channel.DeleteUserGroup(group);
+ }
+ }
+}
Index: /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/ServiceClients/GenerateServiceClients.cmd
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/ServiceClients/GenerateServiceClients.cmd (revision 6820)
+++ /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/ServiceClients/GenerateServiceClients.cmd (revision 6820)
@@ -0,0 +1,30 @@
+echo off
+
+echo.
+echo *******************************************************************************************
+echo Generating HiveService client
+echo.
+
+svcutil.exe ^
+ http://localhost/AccessService?wsdl ^
+ /out:AccessServiceClient ^
+ /namespace:*,HeuristicLab.Clients.Access ^
+ /collectionType:System.Collections.Generic.List`1 ^
+ /targetClientVersion:Version35 ^
+ /serializable ^
+ /enableDataBinding ^
+ /config:..\app.config
+
+echo.
+echo ---------------------------------------------------------------------------------------
+echo !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+echo.
+echo Following modifications have to be done manually in generated data contracts:
+echo * Remove method "protected void RaisePropertyChanged(string propertyName)" in HiveItem
+echo.
+echo !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+echo ---------------------------------------------------------------------------------------
+echo.
+echo Generation of HiveService client finished.
+echo *******************************************************************************************
+
Index: /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/app.config
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/app.config (revision 6820)
+++ /branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/app.config (revision 6820)
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.dbml
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.dbml (revision 6819)
+++ /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.dbml (revision 6820)
@@ -18,4 +18,5 @@
+
Index: /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.dbml.layout
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.dbml.layout (revision 6819)
+++ /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.dbml.layout (revision 6820)
@@ -35,8 +35,8 @@
-
+
-
+
@@ -84,5 +84,5 @@
-
+
Index: /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.designer.cs
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.designer.cs (revision 6819)
+++ /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/ClientManagement.designer.cs (revision 6820)
@@ -368,4 +368,6 @@
private string _Country;
+ private string _ClientType;
+
#region Extensibility Method Definitions
partial void OnLoaded();
@@ -386,4 +388,6 @@
partial void OnCountryChanging(string value);
partial void OnCountryChanged();
+ partial void OnClientTypeChanging(string value);
+ partial void OnClientTypeChanged();
#endregion
@@ -529,4 +533,24 @@
this.SendPropertyChanged("Country");
this.OnCountryChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ClientType", DbType="NVarChar(MAX)")]
+ public string ClientType
+ {
+ get
+ {
+ return this._ClientType;
+ }
+ set
+ {
+ if ((this._ClientType != value))
+ {
+ this.OnClientTypeChanging(value);
+ this.SendPropertyChanging();
+ this._ClientType = value;
+ this.SendPropertyChanged("ClientType");
+ this.OnClientTypeChanged();
}
}
Index: /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/SQL Scripts/Initialize ClientManagement.sql
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/SQL Scripts/Initialize ClientManagement.sql (revision 6819)
+++ /branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/SQL Scripts/Initialize ClientManagement.sql (revision 6820)
@@ -2,5 +2,5 @@
GO
-/****** Object: Table [dbo].[Resource] Script Date: 09/19/2011 13:24:05 ******/
+/****** Object: Table [dbo].[Resource] Script Date: 09/22/2011 12:53:30 ******/
SET ANSI_NULLS ON
GO
@@ -15,10 +15,11 @@
[Type] [nvarchar](max) NOT NULL,
[ProcessorType] [nvarchar](max) NULL,
- [NumberOfCores] [int](max) NULL,
+ [NumberOfCores] [int] NULL,
[IPAddress] [nvarchar](max) NULL,
- [MemorySize] [int](max) NULL,
+ [MemorySize] [int] NULL,
[OperatingSystem] [nvarchar](max) NULL,
[Country] [nvarchar](max) NULL,
[HeuristicLabVersion] [nvarchar](max) NULL,
+ [ClientType] [nvarchar](max) NULL,
CONSTRAINT [PK_Resource] PRIMARY KEY CLUSTERED
(
@@ -28,6 +29,5 @@
GO
-
-/****** Object: Table [dbo].[ResourceResourceGroup] Script Date: 09/19/2011 13:24:08 ******/
+/****** Object: Table [dbo].[ResourceResourceGroup] Script Date: 09/22/2011 12:53:47 ******/
SET ANSI_NULLS ON
GO
@@ -60,7 +60,6 @@
ALTER TABLE [dbo].[ResourceResourceGroup] CHECK CONSTRAINT [FK_ResourceResourceGroup_ResourceId]
-GO
-/****** Object: Table [dbo].[ClientLog] Script Date: 09/19/2011 13:24:11 ******/
+/****** Object: Table [dbo].[ClientLog] Script Date: 09/22/2011 12:54:07 ******/
SET ANSI_NULLS ON
GO
@@ -90,7 +89,71 @@
GO
+/****** Object: Table [dbo].[User] Script Date: 09/22/2011 12:54:23 ******/
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+CREATE TABLE [dbo].[User](
+ [Id] [uniqueidentifier] NOT NULL,
+ [FullName] [nvarchar](max) NULL,
+ CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
+(
+ [Id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+/****** Object: Table [dbo].[UserGroup] Script Date: 09/22/2011 12:54:35 ******/
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+
+CREATE TABLE [dbo].[UserGroup](
+ [Id] [uniqueidentifier] NOT NULL,
+ [Name] [nvarchar](max) NOT NULL,
+ [ParentUserGroup] [uniqueidentifier] NULL,
+ CONSTRAINT [PK_UserGroup] PRIMARY KEY CLUSTERED
+(
+ [Id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+
+GO
+
+/****** Object: Table [dbo].[UserUserGroup] Script Date: 09/22/2011 12:54:52 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+CREATE TABLE [dbo].[UserUserGroup](
+ [UserId] [uniqueidentifier] NOT NULL,
+ [UserGroupId] [uniqueidentifier] NOT NULL,
+ CONSTRAINT [PK_UserUserGroup] PRIMARY KEY CLUSTERED
+(
+ [UserId] ASC,
+ [UserGroupId] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+
+GO
+
+ALTER TABLE [dbo].[UserUserGroup] WITH CHECK ADD CONSTRAINT [FK_UserUserGroup_User] FOREIGN KEY([UserId])
+REFERENCES [dbo].[User] ([Id])
+GO
+
+ALTER TABLE [dbo].[UserUserGroup] CHECK CONSTRAINT [FK_UserUserGroup_User]
+GO
+
+ALTER TABLE [dbo].[UserUserGroup] WITH CHECK ADD CONSTRAINT [FK_UserUserGroup_UserGroup] FOREIGN KEY([UserGroupId])
+REFERENCES [dbo].[UserGroup] ([Id])
+GO
+
+ALTER TABLE [dbo].[UserUserGroup] CHECK CONSTRAINT [FK_UserUserGroup_UserGroup]
+GO
Index: /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/Convert.cs
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/Convert.cs (revision 6819)
+++ /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/Convert.cs (revision 6820)
@@ -79,5 +79,6 @@
NumberOfCores = source.NumberOfCores,
OperatingSystem = source.OperatingSystem,
- ProcessorType = source.ProcessorType
+ ProcessorType = source.ProcessorType,
+ ClientType = source.ClientType
};
}
@@ -95,5 +96,6 @@
NumberOfCores = source.NumberOfCores,
OperatingSystem = source.OperatingSystem,
- ProcessorType = source.ProcessorType
+ ProcessorType = source.ProcessorType,
+ ClientType = source.ClientType
};
}
Index: /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/Client.cs
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/Client.cs (revision 6819)
+++ /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/Client.cs (revision 6820)
@@ -39,4 +39,6 @@
[DataMember]
public string Country { get; set; }
+ [DataMember]
+ public string ClientType { get; set; }
}
}
Index: /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/Role.cs
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/Role.cs (revision 6819)
+++ /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/Role.cs (revision 6820)
@@ -26,7 +26,6 @@
[DataContract]
public class Role : AccessItem {
-
[DataMember]
- public string RoleName { get; set; }
+ public string Name { get; set; }
}
}
Index: /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/User.cs
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/User.cs (revision 6819)
+++ /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/User.cs (revision 6820)
@@ -29,49 +29,22 @@
[DataMember]
public string UserName { get; set; }
-
[DataMember]
public string FullName { get; set; }
-
[DataMember]
public string Comment { get; set; }
-
[DataMember]
public string Email { get; set; }
-
+ [DataMember]
+ public IEnumerable UserGroups { get; set; }
[DataMember]
public DateTime CreationDate { get; set; }
-
- [DataMember]
- public IEnumerable UserGroups { get; set; }
-
[DataMember]
public DateTime LastLoginDate { get; set; }
-
[DataMember]
public DateTime LastPasswordChangedDate { get; set; }
-
[DataMember]
- public DateTime LastLockoutDate { get; set; }
-
+ public DateTime LastActivityDate { get; set; }
[DataMember]
public bool IsApproved { get; set; }
-
- [DataMember]
- public bool IsLockedOut { get; set; }
-
- [DataMember]
- public bool IsOnline { get; set; }
-
- [DataMember]
- public DateTime LastActivityDate { get; set; }
-
- [DataMember]
- public string PasswordQuestion { get; set; }
-
- [DataMember]
- public string ProviderName { get; set; }
-
- [DataMember]
- public object ProviderUserKey { get; set; }
}
}
Index: /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/UserGroup.cs
===================================================================
--- /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/UserGroup.cs (revision 6819)
+++ /branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/UserGroup.cs (revision 6820)
@@ -28,5 +28,4 @@
[DataMember]
public string Name { get; set; }
-
[DataMember]
public Guid ParentUserGroup { get; set; }