Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/18/12 17:21:13 (13 years ago)
Author:
ascheibe
Message:

#1648

  • updated frame files
  • added a lightweight user dto for non-admin users
  • added access service roles
  • some more minor changes
Location:
branches/ClientUserManagement
Files:
4 added
15 edited
4 moved

Legend:

Unmodified
Added
Removed
  • branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3

    • Property svn:ignore
      •  

        old new  
         1Plugin.cs
        12bin
        23obj
  • branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/HeuristicLab.Clients.Access-3.3.csproj

    r6825 r7367  
    3838  </PropertyGroup>
    3939  <ItemGroup>
     40    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
     41      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     42      <Private>False</Private>
     43    </Reference>
    4044    <Reference Include="System" />
    4145    <Reference Include="System.Core" />
     
    4953  </ItemGroup>
    5054  <ItemGroup>
     55    <Compile Include="Plugin.cs" />
    5156    <Compile Include="Properties\AssemblyInfo.cs" />
    5257    <Compile Include="ServiceClients\AccessServiceClient.cs" />
     
    5762    </None>
    5863    <None Include="HeuristicLab.snk" />
    59     <None Include="Properties\AssemblyInfo.frame" />
     64    <None Include="Plugin.cs.frame" />
     65    <None Include="Properties\AssemblyInfo.cs.frame" />
    6066    <None Include="ServiceClients\GenerateServiceClients.cmd" />
     67  </ItemGroup>
     68  <ItemGroup>
     69    <Folder Include="Views\" />
    6170  </ItemGroup>
    6271  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/Properties/AssemblyInfo.cs.frame

    r7355 r7367  
    5454// by using the '*' as shown below:
    5555// [assembly: AssemblyVersion("1.0.*")]
    56 [assembly: AssemblyVersion("3.3.5.0")]
    57 [assembly: AssemblyFileVersion("3.3.5.$WCREV$")]
     56[assembly: AssemblyVersion("3.3.0.0")]
     57[assembly: AssemblyFileVersion("3.3.6.$WCREV$")]
  • branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/ServiceClients/AccessServiceClient.cs

    r6820 r7367  
    22// <auto-generated>
    33//     This code was generated by a tool.
    4 //     Runtime Version:4.0.30319.237
     4//     Runtime Version:4.0.30319.239
    55//
    66//     Changes to this file may cause incorrect behavior and will be lost if
     
    2020        "")]
    2121    [System.SerializableAttribute()]
     22    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroupBase))]
     23    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.User))]
     24    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.LightweightUser))]
     25    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroup))]
     26    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientError))]
     27    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Resource))]
     28    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
     29    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientConfiguration))]
     30    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientType))]
     31    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Country))]
     32    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.OperatingSystem))]
     33    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
    2234    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientLog))]
    23     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.User))]
    24     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroup))]
    2535    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Role))]
    26     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Resource))]
    27     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
    28     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
    2936    public partial class AccessItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    3037    {
     
    5562            }
    5663        }
     64    }
     65   
     66    [System.Diagnostics.DebuggerStepThroughAttribute()]
     67    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     68    [System.Runtime.Serialization.DataContractAttribute(Name="UserGroupBase", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     69        "")]
     70    [System.SerializableAttribute()]
     71    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.User))]
     72    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.LightweightUser))]
     73    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroup))]
     74    public partial class UserGroupBase : HeuristicLab.Clients.Access.AccessItem
     75    {
     76       
     77        [System.Runtime.Serialization.OptionalFieldAttribute()]
     78        private System.Guid IdField;
     79       
     80        [System.Runtime.Serialization.DataMemberAttribute()]
     81        public System.Guid Id
     82        {
     83            get
     84            {
     85                return this.IdField;
     86            }
     87            set
     88            {
     89                if ((this.IdField.Equals(value) != true))
     90                {
     91                    this.IdField = value;
     92                    this.RaisePropertyChanged("Id");
     93                }
     94            }
     95        }
     96    }
     97   
     98    [System.Diagnostics.DebuggerStepThroughAttribute()]
     99    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     100    [System.Runtime.Serialization.DataContractAttribute(Name="User", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     101        "")]
     102    [System.SerializableAttribute()]
     103    public partial class User : HeuristicLab.Clients.Access.UserGroupBase
     104    {
     105       
     106        [System.Runtime.Serialization.OptionalFieldAttribute()]
     107        private string CommentField;
     108       
     109        [System.Runtime.Serialization.OptionalFieldAttribute()]
     110        private System.DateTime CreationDateField;
     111       
     112        [System.Runtime.Serialization.OptionalFieldAttribute()]
     113        private string EmailField;
     114       
     115        [System.Runtime.Serialization.OptionalFieldAttribute()]
     116        private string FullNameField;
     117       
     118        [System.Runtime.Serialization.OptionalFieldAttribute()]
     119        private bool IsApprovedField;
     120       
     121        [System.Runtime.Serialization.OptionalFieldAttribute()]
     122        private System.DateTime LastActivityDateField;
     123       
     124        [System.Runtime.Serialization.OptionalFieldAttribute()]
     125        private System.DateTime LastLoginDateField;
     126       
     127        [System.Runtime.Serialization.OptionalFieldAttribute()]
     128        private System.DateTime LastPasswordChangedDateField;
     129       
     130        [System.Runtime.Serialization.OptionalFieldAttribute()]
     131        private string UserNameField;
     132       
     133        [System.Runtime.Serialization.DataMemberAttribute()]
     134        public string Comment
     135        {
     136            get
     137            {
     138                return this.CommentField;
     139            }
     140            set
     141            {
     142                if ((object.ReferenceEquals(this.CommentField, value) != true))
     143                {
     144                    this.CommentField = value;
     145                    this.RaisePropertyChanged("Comment");
     146                }
     147            }
     148        }
     149       
     150        [System.Runtime.Serialization.DataMemberAttribute()]
     151        public System.DateTime CreationDate
     152        {
     153            get
     154            {
     155                return this.CreationDateField;
     156            }
     157            set
     158            {
     159                if ((this.CreationDateField.Equals(value) != true))
     160                {
     161                    this.CreationDateField = value;
     162                    this.RaisePropertyChanged("CreationDate");
     163                }
     164            }
     165        }
     166       
     167        [System.Runtime.Serialization.DataMemberAttribute()]
     168        public string Email
     169        {
     170            get
     171            {
     172                return this.EmailField;
     173            }
     174            set
     175            {
     176                if ((object.ReferenceEquals(this.EmailField, value) != true))
     177                {
     178                    this.EmailField = value;
     179                    this.RaisePropertyChanged("Email");
     180                }
     181            }
     182        }
     183       
     184        [System.Runtime.Serialization.DataMemberAttribute()]
     185        public string FullName
     186        {
     187            get
     188            {
     189                return this.FullNameField;
     190            }
     191            set
     192            {
     193                if ((object.ReferenceEquals(this.FullNameField, value) != true))
     194                {
     195                    this.FullNameField = value;
     196                    this.RaisePropertyChanged("FullName");
     197                }
     198            }
     199        }
     200       
     201        [System.Runtime.Serialization.DataMemberAttribute()]
     202        public bool IsApproved
     203        {
     204            get
     205            {
     206                return this.IsApprovedField;
     207            }
     208            set
     209            {
     210                if ((this.IsApprovedField.Equals(value) != true))
     211                {
     212                    this.IsApprovedField = value;
     213                    this.RaisePropertyChanged("IsApproved");
     214                }
     215            }
     216        }
     217       
     218        [System.Runtime.Serialization.DataMemberAttribute()]
     219        public System.DateTime LastActivityDate
     220        {
     221            get
     222            {
     223                return this.LastActivityDateField;
     224            }
     225            set
     226            {
     227                if ((this.LastActivityDateField.Equals(value) != true))
     228                {
     229                    this.LastActivityDateField = value;
     230                    this.RaisePropertyChanged("LastActivityDate");
     231                }
     232            }
     233        }
     234       
     235        [System.Runtime.Serialization.DataMemberAttribute()]
     236        public System.DateTime LastLoginDate
     237        {
     238            get
     239            {
     240                return this.LastLoginDateField;
     241            }
     242            set
     243            {
     244                if ((this.LastLoginDateField.Equals(value) != true))
     245                {
     246                    this.LastLoginDateField = value;
     247                    this.RaisePropertyChanged("LastLoginDate");
     248                }
     249            }
     250        }
     251       
     252        [System.Runtime.Serialization.DataMemberAttribute()]
     253        public System.DateTime LastPasswordChangedDate
     254        {
     255            get
     256            {
     257                return this.LastPasswordChangedDateField;
     258            }
     259            set
     260            {
     261                if ((this.LastPasswordChangedDateField.Equals(value) != true))
     262                {
     263                    this.LastPasswordChangedDateField = value;
     264                    this.RaisePropertyChanged("LastPasswordChangedDate");
     265                }
     266            }
     267        }
     268       
     269        [System.Runtime.Serialization.DataMemberAttribute()]
     270        public string UserName
     271        {
     272            get
     273            {
     274                return this.UserNameField;
     275            }
     276            set
     277            {
     278                if ((object.ReferenceEquals(this.UserNameField, value) != true))
     279                {
     280                    this.UserNameField = value;
     281                    this.RaisePropertyChanged("UserName");
     282                }
     283            }
     284        }
     285    }
     286   
     287    [System.Diagnostics.DebuggerStepThroughAttribute()]
     288    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     289    [System.Runtime.Serialization.DataContractAttribute(Name="LightweightUser", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     290        "")]
     291    [System.SerializableAttribute()]
     292    public partial class LightweightUser : HeuristicLab.Clients.Access.UserGroupBase
     293    {
     294       
     295        [System.Runtime.Serialization.OptionalFieldAttribute()]
     296        private string FullNameField;
     297       
     298        [System.Runtime.Serialization.OptionalFieldAttribute()]
     299        private string UserNameField;
     300       
     301        [System.Runtime.Serialization.DataMemberAttribute()]
     302        public string FullName
     303        {
     304            get
     305            {
     306                return this.FullNameField;
     307            }
     308            set
     309            {
     310                if ((object.ReferenceEquals(this.FullNameField, value) != true))
     311                {
     312                    this.FullNameField = value;
     313                    this.RaisePropertyChanged("FullName");
     314                }
     315            }
     316        }
     317       
     318        [System.Runtime.Serialization.DataMemberAttribute()]
     319        public string UserName
     320        {
     321            get
     322            {
     323                return this.UserNameField;
     324            }
     325            set
     326            {
     327                if ((object.ReferenceEquals(this.UserNameField, value) != true))
     328                {
     329                    this.UserNameField = value;
     330                    this.RaisePropertyChanged("UserName");
     331                }
     332            }
     333        }
     334    }
     335   
     336    [System.Diagnostics.DebuggerStepThroughAttribute()]
     337    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     338    [System.Runtime.Serialization.DataContractAttribute(Name="UserGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     339        "")]
     340    [System.SerializableAttribute()]
     341    public partial class UserGroup : HeuristicLab.Clients.Access.UserGroupBase
     342    {
     343       
     344        [System.Runtime.Serialization.OptionalFieldAttribute()]
     345        private string NameField;
     346       
     347        [System.Runtime.Serialization.DataMemberAttribute()]
     348        public string Name
     349        {
     350            get
     351            {
     352                return this.NameField;
     353            }
     354            set
     355            {
     356                if ((object.ReferenceEquals(this.NameField, value) != true))
     357                {
     358                    this.NameField = value;
     359                    this.RaisePropertyChanged("Name");
     360                }
     361            }
     362        }
     363    }
     364   
     365    [System.Diagnostics.DebuggerStepThroughAttribute()]
     366    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     367    [System.Runtime.Serialization.DataContractAttribute(Name="ClientError", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     368        "")]
     369    [System.SerializableAttribute()]
     370    public partial class ClientError : HeuristicLab.Clients.Access.AccessItem
     371    {
     372       
     373        [System.Runtime.Serialization.OptionalFieldAttribute()]
     374        private System.Guid ClientIdField;
     375       
     376        [System.Runtime.Serialization.OptionalFieldAttribute()]
     377        private string ConfigDumpField;
     378       
     379        [System.Runtime.Serialization.OptionalFieldAttribute()]
     380        private string ExceptionField;
     381       
     382        [System.Runtime.Serialization.OptionalFieldAttribute()]
     383        private System.Guid IdField;
     384       
     385        [System.Runtime.Serialization.OptionalFieldAttribute()]
     386        private System.DateTime TimestampField;
     387       
     388        [System.Runtime.Serialization.OptionalFieldAttribute()]
     389        private string UserCommentField;
     390       
     391        [System.Runtime.Serialization.OptionalFieldAttribute()]
     392        private System.Guid UserIdField;
     393       
     394        [System.Runtime.Serialization.DataMemberAttribute()]
     395        public System.Guid ClientId
     396        {
     397            get
     398            {
     399                return this.ClientIdField;
     400            }
     401            set
     402            {
     403                if ((this.ClientIdField.Equals(value) != true))
     404                {
     405                    this.ClientIdField = value;
     406                    this.RaisePropertyChanged("ClientId");
     407                }
     408            }
     409        }
     410       
     411        [System.Runtime.Serialization.DataMemberAttribute()]
     412        public string ConfigDump
     413        {
     414            get
     415            {
     416                return this.ConfigDumpField;
     417            }
     418            set
     419            {
     420                if ((object.ReferenceEquals(this.ConfigDumpField, value) != true))
     421                {
     422                    this.ConfigDumpField = value;
     423                    this.RaisePropertyChanged("ConfigDump");
     424                }
     425            }
     426        }
     427       
     428        [System.Runtime.Serialization.DataMemberAttribute()]
     429        public string Exception
     430        {
     431            get
     432            {
     433                return this.ExceptionField;
     434            }
     435            set
     436            {
     437                if ((object.ReferenceEquals(this.ExceptionField, value) != true))
     438                {
     439                    this.ExceptionField = value;
     440                    this.RaisePropertyChanged("Exception");
     441                }
     442            }
     443        }
     444       
     445        [System.Runtime.Serialization.DataMemberAttribute()]
     446        public System.Guid Id
     447        {
     448            get
     449            {
     450                return this.IdField;
     451            }
     452            set
     453            {
     454                if ((this.IdField.Equals(value) != true))
     455                {
     456                    this.IdField = value;
     457                    this.RaisePropertyChanged("Id");
     458                }
     459            }
     460        }
     461       
     462        [System.Runtime.Serialization.DataMemberAttribute()]
     463        public System.DateTime Timestamp
     464        {
     465            get
     466            {
     467                return this.TimestampField;
     468            }
     469            set
     470            {
     471                if ((this.TimestampField.Equals(value) != true))
     472                {
     473                    this.TimestampField = value;
     474                    this.RaisePropertyChanged("Timestamp");
     475                }
     476            }
     477        }
     478       
     479        [System.Runtime.Serialization.DataMemberAttribute()]
     480        public string UserComment
     481        {
     482            get
     483            {
     484                return this.UserCommentField;
     485            }
     486            set
     487            {
     488                if ((object.ReferenceEquals(this.UserCommentField, value) != true))
     489                {
     490                    this.UserCommentField = value;
     491                    this.RaisePropertyChanged("UserComment");
     492                }
     493            }
     494        }
     495       
     496        [System.Runtime.Serialization.DataMemberAttribute()]
     497        public System.Guid UserId
     498        {
     499            get
     500            {
     501                return this.UserIdField;
     502            }
     503            set
     504            {
     505                if ((this.UserIdField.Equals(value) != true))
     506                {
     507                    this.UserIdField = value;
     508                    this.RaisePropertyChanged("UserId");
     509                }
     510            }
     511        }
     512    }
     513   
     514    [System.Diagnostics.DebuggerStepThroughAttribute()]
     515    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     516    [System.Runtime.Serialization.DataContractAttribute(Name="Resource", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     517        "")]
     518    [System.SerializableAttribute()]
     519    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
     520    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
     521    public partial class Resource : HeuristicLab.Clients.Access.AccessItem
     522    {
     523       
     524        [System.Runtime.Serialization.OptionalFieldAttribute()]
     525        private string DescriptionField;
     526       
     527        [System.Runtime.Serialization.OptionalFieldAttribute()]
     528        private System.Guid IdField;
     529       
     530        [System.Runtime.Serialization.OptionalFieldAttribute()]
     531        private string NameField;
     532       
     533        [System.Runtime.Serialization.DataMemberAttribute()]
     534        public string Description
     535        {
     536            get
     537            {
     538                return this.DescriptionField;
     539            }
     540            set
     541            {
     542                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
     543                {
     544                    this.DescriptionField = value;
     545                    this.RaisePropertyChanged("Description");
     546                }
     547            }
     548        }
     549       
     550        [System.Runtime.Serialization.DataMemberAttribute()]
     551        public System.Guid Id
     552        {
     553            get
     554            {
     555                return this.IdField;
     556            }
     557            set
     558            {
     559                if ((this.IdField.Equals(value) != true))
     560                {
     561                    this.IdField = value;
     562                    this.RaisePropertyChanged("Id");
     563                }
     564            }
     565        }
     566       
     567        [System.Runtime.Serialization.DataMemberAttribute()]
     568        public string Name
     569        {
     570            get
     571            {
     572                return this.NameField;
     573            }
     574            set
     575            {
     576                if ((object.ReferenceEquals(this.NameField, value) != true))
     577                {
     578                    this.NameField = value;
     579                    this.RaisePropertyChanged("Name");
     580                }
     581            }
     582        }
     583    }
     584   
     585    [System.Diagnostics.DebuggerStepThroughAttribute()]
     586    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     587    [System.Runtime.Serialization.DataContractAttribute(Name="Client", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     588        "")]
     589    [System.SerializableAttribute()]
     590    public partial class Client : HeuristicLab.Clients.Access.Resource
     591    {
     592       
     593        [System.Runtime.Serialization.OptionalFieldAttribute()]
     594        private HeuristicLab.Clients.Access.ClientConfiguration ClientConfigurationField;
     595       
     596        [System.Runtime.Serialization.OptionalFieldAttribute()]
     597        private HeuristicLab.Clients.Access.ClientType ClientTypeField;
     598       
     599        [System.Runtime.Serialization.OptionalFieldAttribute()]
     600        private HeuristicLab.Clients.Access.Country CountryField;
     601       
     602        [System.Runtime.Serialization.OptionalFieldAttribute()]
     603        private string HeuristicLabVersionField;
     604       
     605        [System.Runtime.Serialization.OptionalFieldAttribute()]
     606        private int MemorySizeField;
     607       
     608        [System.Runtime.Serialization.OptionalFieldAttribute()]
     609        private int NumberOfCoresField;
     610       
     611        [System.Runtime.Serialization.OptionalFieldAttribute()]
     612        private HeuristicLab.Clients.Access.OperatingSystem OperatingSystemField;
     613       
     614        [System.Runtime.Serialization.OptionalFieldAttribute()]
     615        private string ProcessorTypeField;
     616       
     617        [System.Runtime.Serialization.OptionalFieldAttribute()]
     618        private System.DateTime TimestampField;
     619       
     620        [System.Runtime.Serialization.DataMemberAttribute()]
     621        public HeuristicLab.Clients.Access.ClientConfiguration ClientConfiguration
     622        {
     623            get
     624            {
     625                return this.ClientConfigurationField;
     626            }
     627            set
     628            {
     629                if ((object.ReferenceEquals(this.ClientConfigurationField, value) != true))
     630                {
     631                    this.ClientConfigurationField = value;
     632                    this.RaisePropertyChanged("ClientConfiguration");
     633                }
     634            }
     635        }
     636       
     637        [System.Runtime.Serialization.DataMemberAttribute()]
     638        public HeuristicLab.Clients.Access.ClientType ClientType
     639        {
     640            get
     641            {
     642                return this.ClientTypeField;
     643            }
     644            set
     645            {
     646                if ((object.ReferenceEquals(this.ClientTypeField, value) != true))
     647                {
     648                    this.ClientTypeField = value;
     649                    this.RaisePropertyChanged("ClientType");
     650                }
     651            }
     652        }
     653       
     654        [System.Runtime.Serialization.DataMemberAttribute()]
     655        public HeuristicLab.Clients.Access.Country Country
     656        {
     657            get
     658            {
     659                return this.CountryField;
     660            }
     661            set
     662            {
     663                if ((object.ReferenceEquals(this.CountryField, value) != true))
     664                {
     665                    this.CountryField = value;
     666                    this.RaisePropertyChanged("Country");
     667                }
     668            }
     669        }
     670       
     671        [System.Runtime.Serialization.DataMemberAttribute()]
     672        public string HeuristicLabVersion
     673        {
     674            get
     675            {
     676                return this.HeuristicLabVersionField;
     677            }
     678            set
     679            {
     680                if ((object.ReferenceEquals(this.HeuristicLabVersionField, value) != true))
     681                {
     682                    this.HeuristicLabVersionField = value;
     683                    this.RaisePropertyChanged("HeuristicLabVersion");
     684                }
     685            }
     686        }
     687       
     688        [System.Runtime.Serialization.DataMemberAttribute()]
     689        public int MemorySize
     690        {
     691            get
     692            {
     693                return this.MemorySizeField;
     694            }
     695            set
     696            {
     697                if ((this.MemorySizeField.Equals(value) != true))
     698                {
     699                    this.MemorySizeField = value;
     700                    this.RaisePropertyChanged("MemorySize");
     701                }
     702            }
     703        }
     704       
     705        [System.Runtime.Serialization.DataMemberAttribute()]
     706        public int NumberOfCores
     707        {
     708            get
     709            {
     710                return this.NumberOfCoresField;
     711            }
     712            set
     713            {
     714                if ((this.NumberOfCoresField.Equals(value) != true))
     715                {
     716                    this.NumberOfCoresField = value;
     717                    this.RaisePropertyChanged("NumberOfCores");
     718                }
     719            }
     720        }
     721       
     722        [System.Runtime.Serialization.DataMemberAttribute()]
     723        public HeuristicLab.Clients.Access.OperatingSystem OperatingSystem
     724        {
     725            get
     726            {
     727                return this.OperatingSystemField;
     728            }
     729            set
     730            {
     731                if ((object.ReferenceEquals(this.OperatingSystemField, value) != true))
     732                {
     733                    this.OperatingSystemField = value;
     734                    this.RaisePropertyChanged("OperatingSystem");
     735                }
     736            }
     737        }
     738       
     739        [System.Runtime.Serialization.DataMemberAttribute()]
     740        public string ProcessorType
     741        {
     742            get
     743            {
     744                return this.ProcessorTypeField;
     745            }
     746            set
     747            {
     748                if ((object.ReferenceEquals(this.ProcessorTypeField, value) != true))
     749                {
     750                    this.ProcessorTypeField = value;
     751                    this.RaisePropertyChanged("ProcessorType");
     752                }
     753            }
     754        }
     755       
     756        [System.Runtime.Serialization.DataMemberAttribute()]
     757        public System.DateTime Timestamp
     758        {
     759            get
     760            {
     761                return this.TimestampField;
     762            }
     763            set
     764            {
     765                if ((this.TimestampField.Equals(value) != true))
     766                {
     767                    this.TimestampField = value;
     768                    this.RaisePropertyChanged("Timestamp");
     769                }
     770            }
     771        }
     772    }
     773   
     774    [System.Diagnostics.DebuggerStepThroughAttribute()]
     775    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     776    [System.Runtime.Serialization.DataContractAttribute(Name="ClientConfiguration", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     777        "")]
     778    [System.SerializableAttribute()]
     779    public partial class ClientConfiguration : HeuristicLab.Clients.Access.AccessItem
     780    {
     781       
     782        [System.Runtime.Serialization.OptionalFieldAttribute()]
     783        private string DescriptionField;
     784       
     785        [System.Runtime.Serialization.OptionalFieldAttribute()]
     786        private string HashField;
     787       
     788        [System.Runtime.Serialization.OptionalFieldAttribute()]
     789        private System.Guid IdField;
     790       
     791        [System.Runtime.Serialization.DataMemberAttribute()]
     792        public string Description
     793        {
     794            get
     795            {
     796                return this.DescriptionField;
     797            }
     798            set
     799            {
     800                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
     801                {
     802                    this.DescriptionField = value;
     803                    this.RaisePropertyChanged("Description");
     804                }
     805            }
     806        }
     807       
     808        [System.Runtime.Serialization.DataMemberAttribute()]
     809        public string Hash
     810        {
     811            get
     812            {
     813                return this.HashField;
     814            }
     815            set
     816            {
     817                if ((object.ReferenceEquals(this.HashField, value) != true))
     818                {
     819                    this.HashField = value;
     820                    this.RaisePropertyChanged("Hash");
     821                }
     822            }
     823        }
     824       
     825        [System.Runtime.Serialization.DataMemberAttribute()]
     826        public System.Guid Id
     827        {
     828            get
     829            {
     830                return this.IdField;
     831            }
     832            set
     833            {
     834                if ((this.IdField.Equals(value) != true))
     835                {
     836                    this.IdField = value;
     837                    this.RaisePropertyChanged("Id");
     838                }
     839            }
     840        }
     841    }
     842   
     843    [System.Diagnostics.DebuggerStepThroughAttribute()]
     844    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     845    [System.Runtime.Serialization.DataContractAttribute(Name="ClientType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     846        "")]
     847    [System.SerializableAttribute()]
     848    public partial class ClientType : HeuristicLab.Clients.Access.AccessItem
     849    {
     850       
     851        [System.Runtime.Serialization.OptionalFieldAttribute()]
     852        private System.Guid IdField;
     853       
     854        [System.Runtime.Serialization.OptionalFieldAttribute()]
     855        private string NameField;
     856       
     857        [System.Runtime.Serialization.DataMemberAttribute()]
     858        public System.Guid Id
     859        {
     860            get
     861            {
     862                return this.IdField;
     863            }
     864            set
     865            {
     866                if ((this.IdField.Equals(value) != true))
     867                {
     868                    this.IdField = value;
     869                    this.RaisePropertyChanged("Id");
     870                }
     871            }
     872        }
     873       
     874        [System.Runtime.Serialization.DataMemberAttribute()]
     875        public string Name
     876        {
     877            get
     878            {
     879                return this.NameField;
     880            }
     881            set
     882            {
     883                if ((object.ReferenceEquals(this.NameField, value) != true))
     884                {
     885                    this.NameField = value;
     886                    this.RaisePropertyChanged("Name");
     887                }
     888            }
     889        }
     890    }
     891   
     892    [System.Diagnostics.DebuggerStepThroughAttribute()]
     893    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     894    [System.Runtime.Serialization.DataContractAttribute(Name="Country", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     895        "")]
     896    [System.SerializableAttribute()]
     897    public partial class Country : HeuristicLab.Clients.Access.AccessItem
     898    {
     899       
     900        [System.Runtime.Serialization.OptionalFieldAttribute()]
     901        private System.Guid IdField;
     902       
     903        [System.Runtime.Serialization.OptionalFieldAttribute()]
     904        private string NameField;
     905       
     906        [System.Runtime.Serialization.DataMemberAttribute()]
     907        public System.Guid Id
     908        {
     909            get
     910            {
     911                return this.IdField;
     912            }
     913            set
     914            {
     915                if ((this.IdField.Equals(value) != true))
     916                {
     917                    this.IdField = value;
     918                    this.RaisePropertyChanged("Id");
     919                }
     920            }
     921        }
     922       
     923        [System.Runtime.Serialization.DataMemberAttribute()]
     924        public string Name
     925        {
     926            get
     927            {
     928                return this.NameField;
     929            }
     930            set
     931            {
     932                if ((object.ReferenceEquals(this.NameField, value) != true))
     933                {
     934                    this.NameField = value;
     935                    this.RaisePropertyChanged("Name");
     936                }
     937            }
     938        }
     939    }
     940   
     941    [System.Diagnostics.DebuggerStepThroughAttribute()]
     942    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     943    [System.Runtime.Serialization.DataContractAttribute(Name="OperatingSystem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     944        "")]
     945    [System.SerializableAttribute()]
     946    public partial class OperatingSystem : HeuristicLab.Clients.Access.AccessItem
     947    {
     948       
     949        [System.Runtime.Serialization.OptionalFieldAttribute()]
     950        private System.Guid IdField;
     951       
     952        [System.Runtime.Serialization.OptionalFieldAttribute()]
     953        private string NameField;
     954       
     955        [System.Runtime.Serialization.DataMemberAttribute()]
     956        public System.Guid Id
     957        {
     958            get
     959            {
     960                return this.IdField;
     961            }
     962            set
     963            {
     964                if ((this.IdField.Equals(value) != true))
     965                {
     966                    this.IdField = value;
     967                    this.RaisePropertyChanged("Id");
     968                }
     969            }
     970        }
     971       
     972        [System.Runtime.Serialization.DataMemberAttribute()]
     973        public string Name
     974        {
     975            get
     976            {
     977                return this.NameField;
     978            }
     979            set
     980            {
     981                if ((object.ReferenceEquals(this.NameField, value) != true))
     982                {
     983                    this.NameField = value;
     984                    this.RaisePropertyChanged("Name");
     985                }
     986            }
     987        }
     988    }
     989   
     990    [System.Diagnostics.DebuggerStepThroughAttribute()]
     991    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     992    [System.Runtime.Serialization.DataContractAttribute(Name="ClientGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     993        "")]
     994    [System.SerializableAttribute()]
     995    public partial class ClientGroup : HeuristicLab.Clients.Access.Resource
     996    {
    57997    }
    58998   
     
    661006       
    671007        [System.Runtime.Serialization.OptionalFieldAttribute()]
    68         private string ExceptionField;
    69        
    70         [System.Runtime.Serialization.OptionalFieldAttribute()]
    711008        private string MessageField;
    721009       
     
    761013        [System.Runtime.Serialization.OptionalFieldAttribute()]
    771014        private System.DateTime TimestampField;
    78        
    79         [System.Runtime.Serialization.DataMemberAttribute()]
    80         public string Exception
    81         {
    82             get
    83             {
    84                 return this.ExceptionField;
    85             }
    86             set
    87             {
    88                 if ((object.ReferenceEquals(this.ExceptionField, value) != true))
    89                 {
    90                     this.ExceptionField = value;
    91                     this.RaisePropertyChanged("Exception");
    92                 }
    93             }
    94         }
    951015       
    961016        [System.Runtime.Serialization.DataMemberAttribute()]
     
    1411061                    this.TimestampField = value;
    1421062                    this.RaisePropertyChanged("Timestamp");
    143                 }
    144             }
    145         }
    146     }
    147    
    148     [System.Diagnostics.DebuggerStepThroughAttribute()]
    149     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    150     [System.Runtime.Serialization.DataContractAttribute(Name="User", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
    151         "")]
    152     [System.SerializableAttribute()]
    153     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
    154     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Resource))]
    155     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.AccessItem))]
    156     [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup>))]
    157     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
    158     [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List<HeuristicLab.Clients.Access.Client>))]
    159     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientLog))]
    160     [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientLog>))]
    161     [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List<HeuristicLab.Clients.Access.User>))]
    162     [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup>))]
    163     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroup))]
    164     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Role))]
    165     [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.List<HeuristicLab.Clients.Access.Role>))]
    166     public partial class User : HeuristicLab.Clients.Access.AccessItem
    167     {
    168        
    169         [System.Runtime.Serialization.OptionalFieldAttribute()]
    170         private string CommentField;
    171        
    172         [System.Runtime.Serialization.OptionalFieldAttribute()]
    173         private System.DateTime CreationDateField;
    174        
    175         [System.Runtime.Serialization.OptionalFieldAttribute()]
    176         private string EmailField;
    177        
    178         [System.Runtime.Serialization.OptionalFieldAttribute()]
    179         private string FullNameField;
    180        
    181         [System.Runtime.Serialization.OptionalFieldAttribute()]
    182         private bool IsApprovedField;
    183        
    184         [System.Runtime.Serialization.OptionalFieldAttribute()]
    185         private bool IsLockedOutField;
    186        
    187         [System.Runtime.Serialization.OptionalFieldAttribute()]
    188         private bool IsOnlineField;
    189        
    190         [System.Runtime.Serialization.OptionalFieldAttribute()]
    191         private System.DateTime LastActivityDateField;
    192        
    193         [System.Runtime.Serialization.OptionalFieldAttribute()]
    194         private System.DateTime LastLockoutDateField;
    195        
    196         [System.Runtime.Serialization.OptionalFieldAttribute()]
    197         private System.DateTime LastLoginDateField;
    198        
    199         [System.Runtime.Serialization.OptionalFieldAttribute()]
    200         private System.DateTime LastPasswordChangedDateField;
    201        
    202         [System.Runtime.Serialization.OptionalFieldAttribute()]
    203         private string PasswordQuestionField;
    204        
    205         [System.Runtime.Serialization.OptionalFieldAttribute()]
    206         private string ProviderNameField;
    207        
    208         [System.Runtime.Serialization.OptionalFieldAttribute()]
    209         private object ProviderUserKeyField;
    210        
    211         [System.Runtime.Serialization.OptionalFieldAttribute()]
    212         private System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> UserGroupsField;
    213        
    214         [System.Runtime.Serialization.OptionalFieldAttribute()]
    215         private string UserNameField;
    216        
    217         [System.Runtime.Serialization.DataMemberAttribute()]
    218         public string Comment
    219         {
    220             get
    221             {
    222                 return this.CommentField;
    223             }
    224             set
    225             {
    226                 if ((object.ReferenceEquals(this.CommentField, value) != true))
    227                 {
    228                     this.CommentField = value;
    229                     this.RaisePropertyChanged("Comment");
    230                 }
    231             }
    232         }
    233        
    234         [System.Runtime.Serialization.DataMemberAttribute()]
    235         public System.DateTime CreationDate
    236         {
    237             get
    238             {
    239                 return this.CreationDateField;
    240             }
    241             set
    242             {
    243                 if ((this.CreationDateField.Equals(value) != true))
    244                 {
    245                     this.CreationDateField = value;
    246                     this.RaisePropertyChanged("CreationDate");
    247                 }
    248             }
    249         }
    250        
    251         [System.Runtime.Serialization.DataMemberAttribute()]
    252         public string Email
    253         {
    254             get
    255             {
    256                 return this.EmailField;
    257             }
    258             set
    259             {
    260                 if ((object.ReferenceEquals(this.EmailField, value) != true))
    261                 {
    262                     this.EmailField = value;
    263                     this.RaisePropertyChanged("Email");
    264                 }
    265             }
    266         }
    267        
    268         [System.Runtime.Serialization.DataMemberAttribute()]
    269         public string FullName
    270         {
    271             get
    272             {
    273                 return this.FullNameField;
    274             }
    275             set
    276             {
    277                 if ((object.ReferenceEquals(this.FullNameField, value) != true))
    278                 {
    279                     this.FullNameField = value;
    280                     this.RaisePropertyChanged("FullName");
    281                 }
    282             }
    283         }
    284        
    285         [System.Runtime.Serialization.DataMemberAttribute()]
    286         public bool IsApproved
    287         {
    288             get
    289             {
    290                 return this.IsApprovedField;
    291             }
    292             set
    293             {
    294                 if ((this.IsApprovedField.Equals(value) != true))
    295                 {
    296                     this.IsApprovedField = value;
    297                     this.RaisePropertyChanged("IsApproved");
    298                 }
    299             }
    300         }
    301        
    302         [System.Runtime.Serialization.DataMemberAttribute()]
    303         public bool IsLockedOut
    304         {
    305             get
    306             {
    307                 return this.IsLockedOutField;
    308             }
    309             set
    310             {
    311                 if ((this.IsLockedOutField.Equals(value) != true))
    312                 {
    313                     this.IsLockedOutField = value;
    314                     this.RaisePropertyChanged("IsLockedOut");
    315                 }
    316             }
    317         }
    318        
    319         [System.Runtime.Serialization.DataMemberAttribute()]
    320         public bool IsOnline
    321         {
    322             get
    323             {
    324                 return this.IsOnlineField;
    325             }
    326             set
    327             {
    328                 if ((this.IsOnlineField.Equals(value) != true))
    329                 {
    330                     this.IsOnlineField = value;
    331                     this.RaisePropertyChanged("IsOnline");
    332                 }
    333             }
    334         }
    335        
    336         [System.Runtime.Serialization.DataMemberAttribute()]
    337         public System.DateTime LastActivityDate
    338         {
    339             get
    340             {
    341                 return this.LastActivityDateField;
    342             }
    343             set
    344             {
    345                 if ((this.LastActivityDateField.Equals(value) != true))
    346                 {
    347                     this.LastActivityDateField = value;
    348                     this.RaisePropertyChanged("LastActivityDate");
    349                 }
    350             }
    351         }
    352        
    353         [System.Runtime.Serialization.DataMemberAttribute()]
    354         public System.DateTime LastLockoutDate
    355         {
    356             get
    357             {
    358                 return this.LastLockoutDateField;
    359             }
    360             set
    361             {
    362                 if ((this.LastLockoutDateField.Equals(value) != true))
    363                 {
    364                     this.LastLockoutDateField = value;
    365                     this.RaisePropertyChanged("LastLockoutDate");
    366                 }
    367             }
    368         }
    369        
    370         [System.Runtime.Serialization.DataMemberAttribute()]
    371         public System.DateTime LastLoginDate
    372         {
    373             get
    374             {
    375                 return this.LastLoginDateField;
    376             }
    377             set
    378             {
    379                 if ((this.LastLoginDateField.Equals(value) != true))
    380                 {
    381                     this.LastLoginDateField = value;
    382                     this.RaisePropertyChanged("LastLoginDate");
    383                 }
    384             }
    385         }
    386        
    387         [System.Runtime.Serialization.DataMemberAttribute()]
    388         public System.DateTime LastPasswordChangedDate
    389         {
    390             get
    391             {
    392                 return this.LastPasswordChangedDateField;
    393             }
    394             set
    395             {
    396                 if ((this.LastPasswordChangedDateField.Equals(value) != true))
    397                 {
    398                     this.LastPasswordChangedDateField = value;
    399                     this.RaisePropertyChanged("LastPasswordChangedDate");
    400                 }
    401             }
    402         }
    403        
    404         [System.Runtime.Serialization.DataMemberAttribute()]
    405         public string PasswordQuestion
    406         {
    407             get
    408             {
    409                 return this.PasswordQuestionField;
    410             }
    411             set
    412             {
    413                 if ((object.ReferenceEquals(this.PasswordQuestionField, value) != true))
    414                 {
    415                     this.PasswordQuestionField = value;
    416                     this.RaisePropertyChanged("PasswordQuestion");
    417                 }
    418             }
    419         }
    420        
    421         [System.Runtime.Serialization.DataMemberAttribute()]
    422         public string ProviderName
    423         {
    424             get
    425             {
    426                 return this.ProviderNameField;
    427             }
    428             set
    429             {
    430                 if ((object.ReferenceEquals(this.ProviderNameField, value) != true))
    431                 {
    432                     this.ProviderNameField = value;
    433                     this.RaisePropertyChanged("ProviderName");
    434                 }
    435             }
    436         }
    437        
    438         [System.Runtime.Serialization.DataMemberAttribute()]
    439         public object ProviderUserKey
    440         {
    441             get
    442             {
    443                 return this.ProviderUserKeyField;
    444             }
    445             set
    446             {
    447                 if ((object.ReferenceEquals(this.ProviderUserKeyField, value) != true))
    448                 {
    449                     this.ProviderUserKeyField = value;
    450                     this.RaisePropertyChanged("ProviderUserKey");
    451                 }
    452             }
    453         }
    454        
    455         [System.Runtime.Serialization.DataMemberAttribute()]
    456         public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> UserGroups
    457         {
    458             get
    459             {
    460                 return this.UserGroupsField;
    461             }
    462             set
    463             {
    464                 if ((object.ReferenceEquals(this.UserGroupsField, value) != true))
    465                 {
    466                     this.UserGroupsField = value;
    467                     this.RaisePropertyChanged("UserGroups");
    468                 }
    469             }
    470         }
    471        
    472         [System.Runtime.Serialization.DataMemberAttribute()]
    473         public string UserName
    474         {
    475             get
    476             {
    477                 return this.UserNameField;
    478             }
    479             set
    480             {
    481                 if ((object.ReferenceEquals(this.UserNameField, value) != true))
    482                 {
    483                     this.UserNameField = value;
    484                     this.RaisePropertyChanged("UserName");
    485                 }
    486             }
    487         }
    488     }
    489    
    490     [System.Diagnostics.DebuggerStepThroughAttribute()]
    491     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    492     [System.Runtime.Serialization.DataContractAttribute(Name="UserGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
    493         "")]
    494     [System.SerializableAttribute()]
    495     public partial class UserGroup : HeuristicLab.Clients.Access.AccessItem
    496     {
    497        
    498         [System.Runtime.Serialization.OptionalFieldAttribute()]
    499         private string NameField;
    500        
    501         [System.Runtime.Serialization.OptionalFieldAttribute()]
    502         private System.Guid ParentUserGroupField;
    503        
    504         [System.Runtime.Serialization.DataMemberAttribute()]
    505         public string Name
    506         {
    507             get
    508             {
    509                 return this.NameField;
    510             }
    511             set
    512             {
    513                 if ((object.ReferenceEquals(this.NameField, value) != true))
    514                 {
    515                     this.NameField = value;
    516                     this.RaisePropertyChanged("Name");
    517                 }
    518             }
    519         }
    520        
    521         [System.Runtime.Serialization.DataMemberAttribute()]
    522         public System.Guid ParentUserGroup
    523         {
    524             get
    525             {
    526                 return this.ParentUserGroupField;
    527             }
    528             set
    529             {
    530                 if ((this.ParentUserGroupField.Equals(value) != true))
    531                 {
    532                     this.ParentUserGroupField = value;
    533                     this.RaisePropertyChanged("ParentUserGroup");
    5341063                }
    5351064            }
     
    5461075       
    5471076        [System.Runtime.Serialization.OptionalFieldAttribute()]
    548         private string RoleNameField;
    549        
    550         [System.Runtime.Serialization.DataMemberAttribute()]
    551         public string RoleName
    552         {
    553             get
    554             {
    555                 return this.RoleNameField;
    556             }
    557             set
    558             {
    559                 if ((object.ReferenceEquals(this.RoleNameField, value) != true))
    560                 {
    561                     this.RoleNameField = value;
    562                     this.RaisePropertyChanged("RoleName");
     1077        private string NameField;
     1078       
     1079        [System.Runtime.Serialization.DataMemberAttribute()]
     1080        public string Name
     1081        {
     1082            get
     1083            {
     1084                return this.NameField;
     1085            }
     1086            set
     1087            {
     1088                if ((object.ReferenceEquals(this.NameField, value) != true))
     1089                {
     1090                    this.NameField = value;
     1091                    this.RaisePropertyChanged("Name");
    5631092                }
    5641093            }
     
    5681097    [System.Diagnostics.DebuggerStepThroughAttribute()]
    5691098    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    570     [System.Runtime.Serialization.DataContractAttribute(Name="Resource", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     1099    [System.Runtime.Serialization.DataContractAttribute(Name="ClientGroupMapping", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
    5711100        "")]
    5721101    [System.SerializableAttribute()]
    573     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
    574     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
    575     public partial class Resource : HeuristicLab.Clients.Access.AccessItem
    576     {
    577        
    578         [System.Runtime.Serialization.OptionalFieldAttribute()]
    579         private string DescriptionField;
    580        
    581         [System.Runtime.Serialization.OptionalFieldAttribute()]
    582         private System.Guid IdField;
    583        
    584         [System.Runtime.Serialization.OptionalFieldAttribute()]
    585         private string NameField;
    586        
    587         [System.Runtime.Serialization.OptionalFieldAttribute()]
    588         private System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> ParentGroupsField;
    589        
    590         [System.Runtime.Serialization.OptionalFieldAttribute()]
    591         private string TypeField;
    592        
    593         [System.Runtime.Serialization.DataMemberAttribute()]
    594         public string Description
    595         {
    596             get
    597             {
    598                 return this.DescriptionField;
    599             }
    600             set
    601             {
    602                 if ((object.ReferenceEquals(this.DescriptionField, value) != true))
    603                 {
    604                     this.DescriptionField = value;
    605                     this.RaisePropertyChanged("Description");
    606                 }
    607             }
    608         }
    609        
    610         [System.Runtime.Serialization.DataMemberAttribute()]
    611         public System.Guid Id
    612         {
    613             get
    614             {
    615                 return this.IdField;
    616             }
    617             set
    618             {
    619                 if ((this.IdField.Equals(value) != true))
    620                 {
    621                     this.IdField = value;
    622                     this.RaisePropertyChanged("Id");
    623                 }
    624             }
    625         }
    626        
    627         [System.Runtime.Serialization.DataMemberAttribute()]
    628         public string Name
    629         {
    630             get
    631             {
    632                 return this.NameField;
    633             }
    634             set
    635             {
    636                 if ((object.ReferenceEquals(this.NameField, value) != true))
    637                 {
    638                     this.NameField = value;
    639                     this.RaisePropertyChanged("Name");
    640                 }
    641             }
    642         }
    643        
    644         [System.Runtime.Serialization.DataMemberAttribute()]
    645         public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> ParentGroups
    646         {
    647             get
    648             {
    649                 return this.ParentGroupsField;
    650             }
    651             set
    652             {
    653                 if ((object.ReferenceEquals(this.ParentGroupsField, value) != true))
    654                 {
    655                     this.ParentGroupsField = value;
    656                     this.RaisePropertyChanged("ParentGroups");
    657                 }
    658             }
    659         }
    660        
    661         [System.Runtime.Serialization.DataMemberAttribute()]
    662         public string Type
    663         {
    664             get
    665             {
    666                 return this.TypeField;
    667             }
    668             set
    669             {
    670                 if ((object.ReferenceEquals(this.TypeField, value) != true))
    671                 {
    672                     this.TypeField = value;
    673                     this.RaisePropertyChanged("Type");
    674                 }
     1102    public partial class ClientGroupMapping : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     1103    {
     1104       
     1105        [System.NonSerializedAttribute()]
     1106        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     1107       
     1108        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1109        private System.Guid ChildField;
     1110       
     1111        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1112        private System.Guid ParentField;
     1113       
     1114        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     1115        {
     1116            get
     1117            {
     1118                return this.extensionDataField;
     1119            }
     1120            set
     1121            {
     1122                this.extensionDataField = value;
     1123            }
     1124        }
     1125       
     1126        [System.Runtime.Serialization.DataMemberAttribute()]
     1127        public System.Guid Child
     1128        {
     1129            get
     1130            {
     1131                return this.ChildField;
     1132            }
     1133            set
     1134            {
     1135                if ((this.ChildField.Equals(value) != true))
     1136                {
     1137                    this.ChildField = value;
     1138                    this.RaisePropertyChanged("Child");
     1139                }
     1140            }
     1141        }
     1142       
     1143        [System.Runtime.Serialization.DataMemberAttribute()]
     1144        public System.Guid Parent
     1145        {
     1146            get
     1147            {
     1148                return this.ParentField;
     1149            }
     1150            set
     1151            {
     1152                if ((this.ParentField.Equals(value) != true))
     1153                {
     1154                    this.ParentField = value;
     1155                    this.RaisePropertyChanged("Parent");
     1156                }
     1157            }
     1158        }
     1159       
     1160        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     1161       
     1162        protected void RaisePropertyChanged(string propertyName)
     1163        {
     1164            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     1165            if ((propertyChanged != null))
     1166            {
     1167                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    6751168            }
    6761169        }
     
    6791172    [System.Diagnostics.DebuggerStepThroughAttribute()]
    6801173    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    681     [System.Runtime.Serialization.DataContractAttribute(Name="ClientGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
     1174    [System.Runtime.Serialization.DataContractAttribute(Name="UserGroupMapping", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
    6821175        "")]
    6831176    [System.SerializableAttribute()]
    684     public partial class ClientGroup : HeuristicLab.Clients.Access.Resource
    685     {
    686     }
    687    
    688     [System.Diagnostics.DebuggerStepThroughAttribute()]
    689     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    690     [System.Runtime.Serialization.DataContractAttribute(Name="Client", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
    691         "")]
    692     [System.SerializableAttribute()]
    693     public partial class Client : HeuristicLab.Clients.Access.Resource
    694     {
    695        
    696         [System.Runtime.Serialization.OptionalFieldAttribute()]
    697         private string CountryField;
    698        
    699         [System.Runtime.Serialization.OptionalFieldAttribute()]
    700         private string HeuristicLabVersionField;
    701        
    702         [System.Runtime.Serialization.OptionalFieldAttribute()]
    703         private string IPAddressField;
    704        
    705         [System.Runtime.Serialization.OptionalFieldAttribute()]
    706         private System.Nullable<int> MemorySizeField;
    707        
    708         [System.Runtime.Serialization.OptionalFieldAttribute()]
    709         private System.Nullable<int> NumberOfCoresField;
    710        
    711         [System.Runtime.Serialization.OptionalFieldAttribute()]
    712         private string OperatingSystemField;
    713        
    714         [System.Runtime.Serialization.OptionalFieldAttribute()]
    715         private string ProcessorTypeField;
    716        
    717         [System.Runtime.Serialization.DataMemberAttribute()]
    718         public string Country
    719         {
    720             get
    721             {
    722                 return this.CountryField;
    723             }
    724             set
    725             {
    726                 if ((object.ReferenceEquals(this.CountryField, value) != true))
    727                 {
    728                     this.CountryField = value;
    729                     this.RaisePropertyChanged("Country");
    730                 }
    731             }
    732         }
    733        
    734         [System.Runtime.Serialization.DataMemberAttribute()]
    735         public string HeuristicLabVersion
    736         {
    737             get
    738             {
    739                 return this.HeuristicLabVersionField;
    740             }
    741             set
    742             {
    743                 if ((object.ReferenceEquals(this.HeuristicLabVersionField, value) != true))
    744                 {
    745                     this.HeuristicLabVersionField = value;
    746                     this.RaisePropertyChanged("HeuristicLabVersion");
    747                 }
    748             }
    749         }
    750        
    751         [System.Runtime.Serialization.DataMemberAttribute()]
    752         public string IPAddress
    753         {
    754             get
    755             {
    756                 return this.IPAddressField;
    757             }
    758             set
    759             {
    760                 if ((object.ReferenceEquals(this.IPAddressField, value) != true))
    761                 {
    762                     this.IPAddressField = value;
    763                     this.RaisePropertyChanged("IPAddress");
    764                 }
    765             }
    766         }
    767        
    768         [System.Runtime.Serialization.DataMemberAttribute()]
    769         public System.Nullable<int> MemorySize
    770         {
    771             get
    772             {
    773                 return this.MemorySizeField;
    774             }
    775             set
    776             {
    777                 if ((this.MemorySizeField.Equals(value) != true))
    778                 {
    779                     this.MemorySizeField = value;
    780                     this.RaisePropertyChanged("MemorySize");
    781                 }
    782             }
    783         }
    784        
    785         [System.Runtime.Serialization.DataMemberAttribute()]
    786         public System.Nullable<int> NumberOfCores
    787         {
    788             get
    789             {
    790                 return this.NumberOfCoresField;
    791             }
    792             set
    793             {
    794                 if ((this.NumberOfCoresField.Equals(value) != true))
    795                 {
    796                     this.NumberOfCoresField = value;
    797                     this.RaisePropertyChanged("NumberOfCores");
    798                 }
    799             }
    800         }
    801        
    802         [System.Runtime.Serialization.DataMemberAttribute()]
    803         public string OperatingSystem
    804         {
    805             get
    806             {
    807                 return this.OperatingSystemField;
    808             }
    809             set
    810             {
    811                 if ((object.ReferenceEquals(this.OperatingSystemField, value) != true))
    812                 {
    813                     this.OperatingSystemField = value;
    814                     this.RaisePropertyChanged("OperatingSystem");
    815                 }
    816             }
    817         }
    818        
    819         [System.Runtime.Serialization.DataMemberAttribute()]
    820         public string ProcessorType
    821         {
    822             get
    823             {
    824                 return this.ProcessorTypeField;
    825             }
    826             set
    827             {
    828                 if ((object.ReferenceEquals(this.ProcessorTypeField, value) != true))
    829                 {
    830                     this.ProcessorTypeField = value;
    831                     this.RaisePropertyChanged("ProcessorType");
    832                 }
     1177    public partial class UserGroupMapping : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     1178    {
     1179       
     1180        [System.NonSerializedAttribute()]
     1181        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     1182       
     1183        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1184        private System.Guid ChildField;
     1185       
     1186        [System.Runtime.Serialization.OptionalFieldAttribute()]
     1187        private System.Guid ParentField;
     1188       
     1189        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
     1190        {
     1191            get
     1192            {
     1193                return this.extensionDataField;
     1194            }
     1195            set
     1196            {
     1197                this.extensionDataField = value;
     1198            }
     1199        }
     1200       
     1201        [System.Runtime.Serialization.DataMemberAttribute()]
     1202        public System.Guid Child
     1203        {
     1204            get
     1205            {
     1206                return this.ChildField;
     1207            }
     1208            set
     1209            {
     1210                if ((this.ChildField.Equals(value) != true))
     1211                {
     1212                    this.ChildField = value;
     1213                    this.RaisePropertyChanged("Child");
     1214                }
     1215            }
     1216        }
     1217       
     1218        [System.Runtime.Serialization.DataMemberAttribute()]
     1219        public System.Guid Parent
     1220        {
     1221            get
     1222            {
     1223                return this.ParentField;
     1224            }
     1225            set
     1226            {
     1227                if ((this.ParentField.Equals(value) != true))
     1228                {
     1229                    this.ParentField = value;
     1230                    this.RaisePropertyChanged("Parent");
     1231                }
     1232            }
     1233        }
     1234       
     1235        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     1236       
     1237        protected void RaisePropertyChanged(string propertyName)
     1238        {
     1239            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     1240            if ((propertyChanged != null))
     1241            {
     1242                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    8331243            }
    8341244        }
     
    8401250    {
    8411251       
     1252        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddRole", ReplyAction="http://tempuri.org/IAccessService/AddRoleResponse")]
     1253        HeuristicLab.Clients.Access.Role AddRole(HeuristicLab.Clients.Access.Role role);
     1254       
     1255        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteRole", ReplyAction="http://tempuri.org/IAccessService/DeleteRoleResponse")]
     1256        void DeleteRole(HeuristicLab.Clients.Access.Role role);
     1257       
     1258        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserRoles", ReplyAction="http://tempuri.org/IAccessService/GetUserRolesResponse")]
     1259        System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetUserRoles(HeuristicLab.Clients.Access.User user);
     1260       
     1261        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddRoleToGroup", ReplyAction="http://tempuri.org/IAccessService/AddRoleToGroupResponse")]
     1262        void AddRoleToGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role);
     1263       
     1264        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/RemoveRoleFromGroup", ReplyAction="http://tempuri.org/IAccessService/RemoveRoleFromGroupResponse")]
     1265        void RemoveRoleFromGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role);
     1266       
     1267        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/ReportError", ReplyAction="http://tempuri.org/IAccessService/ReportErrorResponse")]
     1268        void ReportError(HeuristicLab.Clients.Access.ClientError error);
     1269       
     1270        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientErrors", ReplyAction="http://tempuri.org/IAccessService/GetClientErrorsResponse")]
     1271        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetClientErrors();
     1272       
     1273        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetLastClientErrors", ReplyAction="http://tempuri.org/IAccessService/GetLastClientErrorsResponse")]
     1274        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetLastClientErrors(System.DateTime startDate);
     1275       
     1276        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteError", ReplyAction="http://tempuri.org/IAccessService/DeleteErrorResponse")]
     1277        void DeleteError(HeuristicLab.Clients.Access.ClientError error);
     1278       
    8421279        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/ClientExists", ReplyAction="http://tempuri.org/IAccessService/ClientExistsResponse")]
    8431280        bool ClientExists(System.Guid id);
     
    8471284       
    8481285        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClients", ReplyAction="http://tempuri.org/IAccessService/GetClientsResponse")]
    849         System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetClients();
     1286        System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetClients(System.Collections.Generic.List<System.Guid> ids);
     1287       
     1288        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllClients", ReplyAction="http://tempuri.org/IAccessService/GetAllClientsResponse")]
     1289        System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetAllClients();
    8501290       
    8511291        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClient", ReplyAction="http://tempuri.org/IAccessService/AddClientResponse")]
     
    8581298        void DeleteClient(HeuristicLab.Clients.Access.Client client);
    8591299       
     1300        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllClientGroups", ReplyAction="http://tempuri.org/IAccessService/GetAllClientGroupsResponse")]
     1301        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetAllClientGroups();
     1302       
     1303        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientGroups", ReplyAction="http://tempuri.org/IAccessService/GetClientGroupsResponse")]
     1304        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetClientGroups(System.Collections.Generic.List<System.Guid> ids);
     1305       
     1306        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClientGroup", ReplyAction="http://tempuri.org/IAccessService/AddClientGroupResponse")]
     1307        System.Guid AddClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
     1308       
     1309        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateClientGroup", ReplyAction="http://tempuri.org/IAccessService/UpdateClientGroupResponse")]
     1310        void UpdateClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
     1311       
     1312        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteClientGroup", ReplyAction="http://tempuri.org/IAccessService/DeleteClientGroupResponse")]
     1313        void DeleteClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
     1314       
     1315        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddResourceToGroup", ReplyAction="http://tempuri.org/IAccessService/AddResourceToGroupResponse")]
     1316        void AddResourceToGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group);
     1317       
     1318        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/RemoveResourceFromGroup", ReplyAction="http://tempuri.org/IAccessService/RemoveResourceFromGroupResponse")]
     1319        void RemoveResourceFromGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group);
     1320       
     1321        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientGroupMapping", ReplyAction="http://tempuri.org/IAccessService/GetClientGroupMappingResponse")]
     1322        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroupMapping> GetClientGroupMapping();
     1323       
     1324        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetResources", ReplyAction="http://tempuri.org/IAccessService/GetResourcesResponse")]
     1325        System.Collections.Generic.List<HeuristicLab.Clients.Access.Resource> GetResources();
     1326       
    8601327        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetLastClientLog", ReplyAction="http://tempuri.org/IAccessService/GetLastClientLogResponse")]
    8611328        HeuristicLab.Clients.Access.ClientLog GetLastClientLog(System.Guid clientId);
     
    8671334        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientLog> GetClientLogsSince(System.DateTime startDate);
    8681335       
    869         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClientLogEntry", ReplyAction="http://tempuri.org/IAccessService/AddClientLogEntryResponse")]
    870         void AddClientLogEntry(HeuristicLab.Clients.Access.ClientLog log);
    871        
    872         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteClientLogEntry", ReplyAction="http://tempuri.org/IAccessService/DeleteClientLogEntryResponse")]
    873         void DeleteClientLogEntry(HeuristicLab.Clients.Access.ClientLog log);
    874        
    875         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientGroups", ReplyAction="http://tempuri.org/IAccessService/GetClientGroupsResponse")]
    876         System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetClientGroups();
    877        
    878         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClientGroup", ReplyAction="http://tempuri.org/IAccessService/AddClientGroupResponse")]
    879         System.Guid AddClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
    880        
    881         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateClientGroup", ReplyAction="http://tempuri.org/IAccessService/UpdateClientGroupResponse")]
    882         void UpdateClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
    883        
    884         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteClientGroup", ReplyAction="http://tempuri.org/IAccessService/DeleteClientGroupResponse")]
    885         void DeleteClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
     1336        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClientLog", ReplyAction="http://tempuri.org/IAccessService/AddClientLogResponse")]
     1337        void AddClientLog(HeuristicLab.Clients.Access.ClientLog log);
     1338       
     1339        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteClientLog", ReplyAction="http://tempuri.org/IAccessService/DeleteClientLogResponse")]
     1340        void DeleteClientLog(HeuristicLab.Clients.Access.ClientLog log);
    8861341       
    8871342        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/Login", ReplyAction="http://tempuri.org/IAccessService/LoginResponse")]
    888         void Login();
     1343        HeuristicLab.Clients.Access.User Login();
     1344       
     1345        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllLightweightUsers", ReplyAction="http://tempuri.org/IAccessService/GetAllLightweightUsersResponse")]
     1346        System.Collections.Generic.List<HeuristicLab.Clients.Access.LightweightUser> GetAllLightweightUsers();
     1347       
     1348        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllUsers", ReplyAction="http://tempuri.org/IAccessService/GetAllUsersResponse")]
     1349        System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetAllUsers();
    8891350       
    8901351        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUsers", ReplyAction="http://tempuri.org/IAccessService/GetUsersResponse")]
    891         System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetUsers();
     1352        System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetUsers(System.Collections.Generic.List<System.Guid> ids);
    8921353       
    8931354        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUser", ReplyAction="http://tempuri.org/IAccessService/AddUserResponse")]
     
    9071368       
    9081369        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/ResetPassword", ReplyAction="http://tempuri.org/IAccessService/ResetPasswordResponse")]
    909         void ResetPassword(HeuristicLab.Clients.Access.User user, string password);
     1370        bool ResetPassword(HeuristicLab.Clients.Access.User user, string oldPassword, string newPassword);
     1371       
     1372        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllUserGroups", ReplyAction="http://tempuri.org/IAccessService/GetAllUserGroupsResponse")]
     1373        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetAllUserGroups();
     1374       
     1375        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserGroupsOfUser", ReplyAction="http://tempuri.org/IAccessService/GetUserGroupsOfUserResponse")]
     1376        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroupsOfUser(System.Guid userId);
     1377       
     1378        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserGroups", ReplyAction="http://tempuri.org/IAccessService/GetUserGroupsResponse")]
     1379        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroups(System.Collections.Generic.List<System.Guid> ids);
     1380       
     1381        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUserGroup", ReplyAction="http://tempuri.org/IAccessService/AddUserGroupResponse")]
     1382        System.Guid AddUserGroup(HeuristicLab.Clients.Access.UserGroup group);
     1383       
     1384        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateUserGroup", ReplyAction="http://tempuri.org/IAccessService/UpdateUserGroupResponse")]
     1385        void UpdateUserGroup(HeuristicLab.Clients.Access.UserGroup group);
     1386       
     1387        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteUserGroup", ReplyAction="http://tempuri.org/IAccessService/DeleteUserGroupResponse")]
     1388        void DeleteUserGroup(HeuristicLab.Clients.Access.UserGroup group);
     1389       
     1390        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUserGroupBaseToGroup", ReplyAction="http://tempuri.org/IAccessService/AddUserGroupBaseToGroupResponse")]
     1391        void AddUserGroupBaseToGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group);
     1392       
     1393        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/RemoveUserGroupBaseFromGroup", ReplyAction="http://tempuri.org/IAccessService/RemoveUserGroupBaseFromGroupResponse")]
     1394        void RemoveUserGroupBaseFromGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group);
     1395       
     1396        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUsersAndGroups", ReplyAction="http://tempuri.org/IAccessService/GetUsersAndGroupsResponse")]
     1397        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetUsersAndGroups();
     1398       
     1399        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserGroupMapping", ReplyAction="http://tempuri.org/IAccessService/GetUserGroupMappingResponse")]
     1400        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupMapping> GetUserGroupMapping();
    9101401       
    9111402        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetRoles", ReplyAction="http://tempuri.org/IAccessService/GetRolesResponse")]
    9121403        System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetRoles();
    913        
    914         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddRole", ReplyAction="http://tempuri.org/IAccessService/AddRoleResponse")]
    915         HeuristicLab.Clients.Access.Role AddRole(HeuristicLab.Clients.Access.Role role);
    916        
    917         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateRole", ReplyAction="http://tempuri.org/IAccessService/UpdateRoleResponse")]
    918         void UpdateRole(HeuristicLab.Clients.Access.Role role);
    919        
    920         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteRole", ReplyAction="http://tempuri.org/IAccessService/DeleteRoleResponse")]
    921         void DeleteRole(HeuristicLab.Clients.Access.Role role);
    922        
    923         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserRoles", ReplyAction="http://tempuri.org/IAccessService/GetUserRolesResponse")]
    924         System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetUserRoles(HeuristicLab.Clients.Access.User user);
    925        
    926         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserGroups", ReplyAction="http://tempuri.org/IAccessService/GetUserGroupsResponse")]
    927         System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroups();
    928        
    929         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUserGroup", ReplyAction="http://tempuri.org/IAccessService/AddUserGroupResponse")]
    930         HeuristicLab.Clients.Access.UserGroup AddUserGroup(HeuristicLab.Clients.Access.UserGroup group);
    931        
    932         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateUserGroup", ReplyAction="http://tempuri.org/IAccessService/UpdateUserGroupResponse")]
    933         void UpdateUserGroup(HeuristicLab.Clients.Access.UserGroup group);
    934        
    935         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteUserGroup", ReplyAction="http://tempuri.org/IAccessService/DeleteUserGroupResponse")]
    936         void DeleteUserGroup(HeuristicLab.Clients.Access.UserGroup group);
    9371404    }
    9381405   
     
    9711438        }
    9721439       
     1440        public HeuristicLab.Clients.Access.Role AddRole(HeuristicLab.Clients.Access.Role role)
     1441        {
     1442            return base.Channel.AddRole(role);
     1443        }
     1444       
     1445        public void DeleteRole(HeuristicLab.Clients.Access.Role role)
     1446        {
     1447            base.Channel.DeleteRole(role);
     1448        }
     1449       
     1450        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetUserRoles(HeuristicLab.Clients.Access.User user)
     1451        {
     1452            return base.Channel.GetUserRoles(user);
     1453        }
     1454       
     1455        public void AddRoleToGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role)
     1456        {
     1457            base.Channel.AddRoleToGroup(userGroup, role);
     1458        }
     1459       
     1460        public void RemoveRoleFromGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role)
     1461        {
     1462            base.Channel.RemoveRoleFromGroup(userGroup, role);
     1463        }
     1464       
     1465        public void ReportError(HeuristicLab.Clients.Access.ClientError error)
     1466        {
     1467            base.Channel.ReportError(error);
     1468        }
     1469       
     1470        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetClientErrors()
     1471        {
     1472            return base.Channel.GetClientErrors();
     1473        }
     1474       
     1475        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetLastClientErrors(System.DateTime startDate)
     1476        {
     1477            return base.Channel.GetLastClientErrors(startDate);
     1478        }
     1479       
     1480        public void DeleteError(HeuristicLab.Clients.Access.ClientError error)
     1481        {
     1482            base.Channel.DeleteError(error);
     1483        }
     1484       
    9731485        public bool ClientExists(System.Guid id)
    9741486        {
     
    9811493        }
    9821494       
    983         public System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetClients()
    984         {
    985             return base.Channel.GetClients();
     1495        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetClients(System.Collections.Generic.List<System.Guid> ids)
     1496        {
     1497            return base.Channel.GetClients(ids);
     1498        }
     1499       
     1500        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetAllClients()
     1501        {
     1502            return base.Channel.GetAllClients();
    9861503        }
    9871504       
     
    10011518        }
    10021519       
     1520        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetAllClientGroups()
     1521        {
     1522            return base.Channel.GetAllClientGroups();
     1523        }
     1524       
     1525        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetClientGroups(System.Collections.Generic.List<System.Guid> ids)
     1526        {
     1527            return base.Channel.GetClientGroups(ids);
     1528        }
     1529       
     1530        public System.Guid AddClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
     1531        {
     1532            return base.Channel.AddClientGroup(group);
     1533        }
     1534       
     1535        public void UpdateClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
     1536        {
     1537            base.Channel.UpdateClientGroup(group);
     1538        }
     1539       
     1540        public void DeleteClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
     1541        {
     1542            base.Channel.DeleteClientGroup(group);
     1543        }
     1544       
     1545        public void AddResourceToGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group)
     1546        {
     1547            base.Channel.AddResourceToGroup(resource, group);
     1548        }
     1549       
     1550        public void RemoveResourceFromGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group)
     1551        {
     1552            base.Channel.RemoveResourceFromGroup(resource, group);
     1553        }
     1554       
     1555        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroupMapping> GetClientGroupMapping()
     1556        {
     1557            return base.Channel.GetClientGroupMapping();
     1558        }
     1559       
     1560        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Resource> GetResources()
     1561        {
     1562            return base.Channel.GetResources();
     1563        }
     1564       
    10031565        public HeuristicLab.Clients.Access.ClientLog GetLastClientLog(System.Guid clientId)
    10041566        {
     
    10161578        }
    10171579       
    1018         public void AddClientLogEntry(HeuristicLab.Clients.Access.ClientLog log)
    1019         {
    1020             base.Channel.AddClientLogEntry(log);
    1021         }
    1022        
    1023         public void DeleteClientLogEntry(HeuristicLab.Clients.Access.ClientLog log)
    1024         {
    1025             base.Channel.DeleteClientLogEntry(log);
    1026         }
    1027        
    1028         public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetClientGroups()
    1029         {
    1030             return base.Channel.GetClientGroups();
    1031         }
    1032        
    1033         public System.Guid AddClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
    1034         {
    1035             return base.Channel.AddClientGroup(group);
    1036         }
    1037        
    1038         public void UpdateClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
    1039         {
    1040             base.Channel.UpdateClientGroup(group);
    1041         }
    1042        
    1043         public void DeleteClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
    1044         {
    1045             base.Channel.DeleteClientGroup(group);
    1046         }
    1047        
    1048         public void Login()
    1049         {
    1050             base.Channel.Login();
    1051         }
    1052        
    1053         public System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetUsers()
    1054         {
    1055             return base.Channel.GetUsers();
     1580        public void AddClientLog(HeuristicLab.Clients.Access.ClientLog log)
     1581        {
     1582            base.Channel.AddClientLog(log);
     1583        }
     1584       
     1585        public void DeleteClientLog(HeuristicLab.Clients.Access.ClientLog log)
     1586        {
     1587            base.Channel.DeleteClientLog(log);
     1588        }
     1589       
     1590        public HeuristicLab.Clients.Access.User Login()
     1591        {
     1592            return base.Channel.Login();
     1593        }
     1594       
     1595        public System.Collections.Generic.List<HeuristicLab.Clients.Access.LightweightUser> GetAllLightweightUsers()
     1596        {
     1597            return base.Channel.GetAllLightweightUsers();
     1598        }
     1599       
     1600        public System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetAllUsers()
     1601        {
     1602            return base.Channel.GetAllUsers();
     1603        }
     1604       
     1605        public System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetUsers(System.Collections.Generic.List<System.Guid> ids)
     1606        {
     1607            return base.Channel.GetUsers(ids);
    10561608        }
    10571609       
     
    10811633        }
    10821634       
    1083         public void ResetPassword(HeuristicLab.Clients.Access.User user, string password)
    1084         {
    1085             base.Channel.ResetPassword(user, password);
     1635        public bool ResetPassword(HeuristicLab.Clients.Access.User user, string oldPassword, string newPassword)
     1636        {
     1637            return base.Channel.ResetPassword(user, oldPassword, newPassword);
     1638        }
     1639       
     1640        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetAllUserGroups()
     1641        {
     1642            return base.Channel.GetAllUserGroups();
     1643        }
     1644       
     1645        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroupsOfUser(System.Guid userId)
     1646        {
     1647            return base.Channel.GetUserGroupsOfUser(userId);
     1648        }
     1649       
     1650        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroups(System.Collections.Generic.List<System.Guid> ids)
     1651        {
     1652            return base.Channel.GetUserGroups(ids);
     1653        }
     1654       
     1655        public System.Guid AddUserGroup(HeuristicLab.Clients.Access.UserGroup group)
     1656        {
     1657            return base.Channel.AddUserGroup(group);
     1658        }
     1659       
     1660        public void UpdateUserGroup(HeuristicLab.Clients.Access.UserGroup group)
     1661        {
     1662            base.Channel.UpdateUserGroup(group);
     1663        }
     1664       
     1665        public void DeleteUserGroup(HeuristicLab.Clients.Access.UserGroup group)
     1666        {
     1667            base.Channel.DeleteUserGroup(group);
     1668        }
     1669       
     1670        public void AddUserGroupBaseToGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group)
     1671        {
     1672            base.Channel.AddUserGroupBaseToGroup(resource, group);
     1673        }
     1674       
     1675        public void RemoveUserGroupBaseFromGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group)
     1676        {
     1677            base.Channel.RemoveUserGroupBaseFromGroup(resource, group);
     1678        }
     1679       
     1680        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetUsersAndGroups()
     1681        {
     1682            return base.Channel.GetUsersAndGroups();
     1683        }
     1684       
     1685        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupMapping> GetUserGroupMapping()
     1686        {
     1687            return base.Channel.GetUserGroupMapping();
    10861688        }
    10871689       
     
    10901692            return base.Channel.GetRoles();
    10911693        }
    1092        
    1093         public HeuristicLab.Clients.Access.Role AddRole(HeuristicLab.Clients.Access.Role role)
    1094         {
    1095             return base.Channel.AddRole(role);
    1096         }
    1097        
    1098         public void UpdateRole(HeuristicLab.Clients.Access.Role role)
    1099         {
    1100             base.Channel.UpdateRole(role);
    1101         }
    1102        
    1103         public void DeleteRole(HeuristicLab.Clients.Access.Role role)
    1104         {
    1105             base.Channel.DeleteRole(role);
    1106         }
    1107        
    1108         public System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetUserRoles(HeuristicLab.Clients.Access.User user)
    1109         {
    1110             return base.Channel.GetUserRoles(user);
    1111         }
    1112        
    1113         public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroups()
    1114         {
    1115             return base.Channel.GetUserGroups();
    1116         }
    1117        
    1118         public HeuristicLab.Clients.Access.UserGroup AddUserGroup(HeuristicLab.Clients.Access.UserGroup group)
    1119         {
    1120             return base.Channel.AddUserGroup(group);
    1121         }
    1122        
    1123         public void UpdateUserGroup(HeuristicLab.Clients.Access.UserGroup group)
    1124         {
    1125             base.Channel.UpdateUserGroup(group);
    1126         }
    1127        
    1128         public void DeleteUserGroup(HeuristicLab.Clients.Access.UserGroup group)
    1129         {
    1130             base.Channel.DeleteUserGroup(group);
    1131         }
    11321694    }
    11331695}
  • branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/ServiceClients/GenerateServiceClients.cmd

    r6820 r7367  
    77
    88svcutil.exe ^
    9   http://localhost/AccessService?wsdl ^
     9  http://localhost:81/AccessService?wsdl ^
    1010  /out:AccessServiceClient ^
    1111  /namespace:*,HeuristicLab.Clients.Access ^
  • branches/ClientUserManagement/HeuristicLab.Clients.Access/3.3/app.config

    r6820 r7367  
    2424        </bindings>
    2525        <client>
    26             <endpoint address="http://localhost/AccessService" binding="wsHttpBinding"
     26            <endpoint address="http://localhost:81/AccessService" binding="wsHttpBinding"
    2727                bindingConfiguration="WSHttpBinding_IAccessService" contract="HeuristicLab.Clients.Access.IAccessService"
    2828                name="WSHttpBinding_IAccessService">
  • branches/ClientUserManagement/HeuristicLab.GeoIP/1.12/HeuristicLab.GeoIP.csproj

    r7356 r7367  
    6464      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    6565    </None>
    66     <None Include="Properties\AssemblyInfo.frame" />
     66    <None Include="Properties\AssemblyInfo.cs.frame" />
    6767    <None Include="Settings.settings">
    6868      <Generator>SettingsSingleFileGenerator</Generator>
  • branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/HeuristicLab.Services.Access.DataAccess-3.3.csproj

    r7356 r7367  
    7878    </None>
    7979    <None Include="HeuristicLab.snk" />
    80     <None Include="Properties\AssemblyInfo.frame" />
     80    <None Include="Properties\AssemblyInfo.cs.frame" />
    8181    <None Include="Properties\Settings.settings">
    8282      <Generator>SettingsSingleFileGenerator</Generator>
  • branches/ClientUserManagement/HeuristicLab.Services.Access.DataAccess/3.3/Properties/AssemblyInfo.cs.frame

    r7355 r7367  
    5454// by using the '*' as shown below:
    5555// [assembly: AssemblyVersion("1.0.*")]
    56 [assembly: AssemblyVersion("3.3.5.0")]
    57 [assembly: AssemblyFileVersion("3.3.5.$WCREV$")]
     56[assembly: AssemblyVersion("3.3.0.0")]
     57[assembly: AssemblyFileVersion("3.3.6.$WCREV$")]
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/AccessService.cs

    r7355 r7367  
    278278      DA.User accessUser = null;
    279279
     280      //TODO: add user to userdb if there is only data available in the asp.net authentication db
    280281      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
    281282        var query = from u in context.UserGroupBases.OfType<DA.User>()
     
    311312    }
    312313
     314    private DT.LightweightUser BuildLightweightUserDto(Guid userId) {
     315      DA.aspnet_User aspUser = null;
     316      DA.User accessUser = null;
     317
     318      //TODO: add user to userdb if there is only data available in the asp.net authentication db
     319      using (DA.ASPNETAuthenticationDataContext context = new DA.ASPNETAuthenticationDataContext()) {
     320        var userQuery = from u in context.aspnet_Users
     321                        where u.UserId == userId
     322                        select u;
     323        if (userQuery.Count() == 1) {
     324          aspUser = userQuery.First();
     325        }
     326      }
     327
     328      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     329        var query = from u in context.UserGroupBases.OfType<DA.User>()
     330                    where u.Id == userId
     331                    select u;
     332        if (query.Count() == 1) {
     333          accessUser = query.First();
     334        }
     335      }
     336
     337      if (aspUser == null || accessUser == null) {
     338        //TODO: error handling
     339        return null;
     340      } else {
     341        return Convert.ToDto(accessUser, aspUser);
     342      }
     343    }
     344
    313345    public DT.User Login() {
    314346      Guid userId = UserManager.CurrentUserId;
    315347      return BuildUserDto(userId);
     348    }
     349
     350    public IEnumerable<DT.LightweightUser> GetAllLightweightUsers() {
     351      List<Guid> accessUserGuids = null;
     352
     353      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     354        var query = from u in context.UserGroupBases.OfType<DA.User>()
     355                    select u.Id;
     356        accessUserGuids = query.ToList();
     357      }
     358
     359      return accessUserGuids.Select(x => BuildLightweightUserDto(x));
    316360    }
    317361
     
    445489    }
    446490
     491    public IEnumerable<DT.UserGroup> GetUserGroupsOfUser(Guid userId) {
     492
     493      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     494        var groupIds = from g in context.UserGroupUserGroups
     495                       where g.UserGroupId == userId
     496                       select g.UserGroupUserGroupId;
     497
     498        var query = from g in context.UserGroupBases.OfType<DA.UserGroup>()
     499                    where groupIds.Contains(g.Id)
     500                    select Convert.ToDto(g);
     501
     502        return query.ToList();
     503      }
     504    }
     505
    447506    public IEnumerable<DT.UserGroup> GetUserGroups(IEnumerable<Guid> ids) {
    448507      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/App.config

    r6858 r7367  
    8585        <host>
    8686          <baseAddresses>
    87             <add baseAddress="http://localhost/AccessService" />
     87            <add baseAddress="http://localhost:81/AccessService" />
    8888          </baseAddresses>
    8989        </host>
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/Convert.cs

    r7355 r7367  
    283283
    284284    #region User
     285
     286    public static DT.LightweightUser ToDto(DA.User source, DA.aspnet_User aspUserSource) {
     287      return new DT.LightweightUser() {
     288        Id = source.Id,
     289        FullName = source.FullName,
     290        UserName = aspUserSource.UserName
     291      };
     292    }
     293
    285294    public static DT.User ToDto(DA.User source, DA.aspnet_User aspUserSource, DA.aspnet_Membership aspMembershipSource) {
    286295      return new DT.User() {
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/User.cs

    r7355 r7367  
    2121
    2222using System;
    23 using System.Collections.Generic;
    2423using System.Runtime.Serialization;
    2524
     
    3635    public string Email { get; set; }
    3736    [DataMember]
    38     public IEnumerable<UserGroup> UserGroups { get; set; }
    39     [DataMember]
    4037    public DateTime CreationDate { get; set; }
    4138    [DataMember]
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/UserGroupBase.cs

    r7355 r7367  
    2626  [DataContract]
    2727  [KnownType(typeof(User))]
     28  [KnownType(typeof(LightweightUser))]
    2829  [KnownType(typeof(UserGroup))]
    2930  public class UserGroupBase : AccessItem {
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/HeuristicLab.Services.Access-3.3.csproj

    r7358 r7367  
    5555  <ItemGroup>
    5656    <Compile Include="AccessServiceLocator.cs" />
     57    <Compile Include="AccessServiceRoles.cs" />
    5758    <Compile Include="Convert.cs" />
    5859    <Compile Include="DataTransfer\Client.cs" />
     
    6566    <Compile Include="DataTransfer\ClientType.cs" />
    6667    <Compile Include="DataTransfer\Country.cs" />
     68    <Compile Include="DataTransfer\LightweightUser.cs" />
    6769    <Compile Include="DataTransfer\OperatingSystem.cs" />
    6870    <Compile Include="DataTransfer\Plugin.cs" />
     
    8587    <None Include="App.config" />
    8688    <None Include="HeuristicLab.snk" />
    87     <None Include="Properties\AssemblyInfo.frame" />
     89    <None Include="Properties\AssemblyInfo.cs.frame" />
    8890  </ItemGroup>
    8991  <ItemGroup>
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/IAccessService.cs

    r7355 r7367  
    104104
    105105    #region User
     106    //TODO: i don't think this method is needed
    106107    [OperationContract]
    107108    User Login();
    108109
    109110    [OperationContract]
     111    IEnumerable<LightweightUser> GetAllLightweightUsers();
     112
     113    [OperationContract]
    110114    IEnumerable<User> GetAllUsers();
    111115
     
    135139    [OperationContract]
    136140    IEnumerable<UserGroup> GetAllUserGroups();
     141
     142    [OperationContract]
     143    IEnumerable<UserGroup> GetUserGroupsOfUser(Guid userId);
    137144
    138145    [OperationContract]
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/Properties/AssemblyInfo.cs.frame

    r7355 r7367  
    5454// by using the '*' as shown below:
    5555// [assembly: AssemblyVersion("1.0.*")]
    56 [assembly: AssemblyVersion("3.3.5.0")]
    57 [assembly: AssemblyFileVersion("3.3.5.$WCREV$")]
     56[assembly: AssemblyVersion("3.3.0.0")]
     57[assembly: AssemblyFileVersion("3.3.6.$WCREV$")]
  • branches/ClientUserManagement/PreBuildEvent.cmd

    r6799 r7367  
    1 SubWCRev "%ProjectDir%\" "%ProjectDir%\Properties\AssemblyInfo.frame" "%ProjectDir%\Properties\AssemblyInfo.cs"
     1IF EXIST "%ProjectDir%\Properties\AssemblyInfo.cs.frame" SubWCRev "%ProjectDir%\" "%ProjectDir%\Properties\AssemblyInfo.cs.frame" "%ProjectDir%\Properties\AssemblyInfo.cs"
     2IF EXIST "%ProjectDir%\Plugin.cs.frame" SubWCRev "%ProjectDir%\" "%ProjectDir%\Plugin.cs.frame" "%ProjectDir%\Plugin.cs"
Note: See TracChangeset for help on using the changeset viewer.