Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/27/11 17:13:54 (13 years ago)
Author:
ascheibe
Message:

#1648 started implementing the web service

Location:
branches/ClientUserManagement
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • branches/ClientUserManagement

    • Property svn:ignore
      •  

        old new  
        22*.testsettings
        33HeuristicLab.Services.Access.vsmdi
         4TestResults
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/AccessService.cs

    r6825 r6840  
    2020#endregion
    2121
     22using System;
     23using System.Collections.Generic;
     24using System.Linq;
    2225using System.ServiceModel;
     26using DA = HeuristicLab.Services.Access.DataAccess;
     27using DT = HeuristicLab.Services.Access.DataTransfer;
    2328
    2429namespace HeuristicLab.Services.Access {
    2530  [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
    26   public class AccessService {
    27 
     31  public class AccessService : IAccessService {
     32
     33    #region Client Members
     34    public bool ClientExists(Guid id) {
     35      if (id != Guid.Empty) {
     36        using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     37          return (context.Resources.Where(x => x.Id == id).Count() != 0);
     38        }
     39      }
     40      return false;
     41    }
     42
     43    public DT.Client GetClient(Guid id) {
     44      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     45        var query = from c in context.GetTable<DA.Resource>().OfType<DA.Client>()
     46                    where c.Id == id
     47                    select c;
     48
     49        return Convert.ToDto(query.FirstOrDefault());
     50      }
     51    }
     52
     53    public IEnumerable<DT.Client> GetClients(IEnumerable<Guid> ids) {
     54      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     55        var query = from c in context.GetTable<DA.Resource>().OfType<DA.Client>()
     56                    where ids.Contains(c.Id)
     57                    select Convert.ToDto(c);
     58        return query.ToList();
     59      }
     60    }
     61
     62    public IEnumerable<DT.Client> GetAllClients() {
     63      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     64        var query = from c in context.GetTable<DA.Resource>().OfType<DA.Client>()
     65                    select Convert.ToDto(c);
     66        return query.ToList();
     67      }
     68    }
     69
     70    public Guid AddClient(DT.Client client) {
     71      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     72        DA.Client entity = Convert.ToEntity(client);
     73        context.Resources.InsertOnSubmit(entity);
     74        context.SubmitChanges();
     75        return entity.Id;
     76      }
     77    }
     78
     79    public void UpdateClient(DT.Client client) {
     80      AddClient(client);
     81    }
     82
     83    public void DeleteClient(DT.Client client) {
     84      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     85        context.Resources.DeleteOnSubmit(Convert.ToEntity(client));
     86        context.SubmitChanges();
     87      }
     88    }
     89    #endregion
     90
     91    #region ClientGroup
     92    public IEnumerable<DT.ClientGroup> GetAllClientGroups() {
     93      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     94        var query = from c in context.GetTable<DA.Resource>().OfType<DA.ClientGroup>()
     95                    select Convert.ToDto(c);
     96        return query.ToList();
     97      }
     98    }
     99
     100    public IEnumerable<DT.ClientGroup> GetClientGroups(IEnumerable<Guid> ids) {
     101      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     102        var query = from c in context.GetTable<DA.Resource>().OfType<DA.ClientGroup>()
     103                    where ids.Contains(c.Id)
     104                    select Convert.ToDto(c);
     105        return query.ToList();
     106      }
     107    }
     108
     109    public Guid AddClientGroup(DT.ClientGroup group) {
     110      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     111        var entity = Convert.ToEntity(group);
     112        context.Resources.InsertOnSubmit(entity);
     113        context.SubmitChanges();
     114        return entity.Id;
     115      }
     116    }
     117
     118    public void UpdateClientGroup(DT.ClientGroup group) {
     119      AddClientGroup(group);
     120    }
     121
     122    public void DeleteClientGroup(DT.ClientGroup group) {
     123      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     124        context.Resources.DeleteOnSubmit(Convert.ToEntity(group));
     125        context.SubmitChanges();
     126      }
     127    }
     128
     129    public void AddResourceToGroup(DT.Resource resource, DT.UserGroup group) {
     130      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     131        DA.ResourceResourceGroup rrg = new DA.ResourceResourceGroup() {
     132          ResourceId = resource.Id,
     133          ResourceGroupId = group.Id
     134        };
     135
     136        context.ResourceResourceGroups.InsertOnSubmit(rrg);
     137        context.SubmitChanges();
     138      }
     139    }
     140
     141    public void RemoveResourceFromGroup(DT.Resource resource, DT.UserGroup group) {
     142      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     143        var query = context.ResourceResourceGroups.Where(x => x.ResourceId == resource.Id && x.ResourceGroupId == group.Id);
     144        if (query.Count() > 0) {
     145          context.ResourceResourceGroups.DeleteOnSubmit(query.First());
     146          context.SubmitChanges();
     147        }
     148      }
     149    }
     150    #endregion
     151
     152    #region ClientGroupMapping
     153    public IEnumerable<DT.ClientGroupMapping> GetClientGroupMapping() {
     154      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     155        var query = from c in context.GetTable<DA.ResourceResourceGroup>()
     156                    select Convert.ToDto(c);
     157        return query.ToList();
     158      }
     159    }
     160    #endregion
     161
     162    #region Resource
     163    public IEnumerable<DT.Resource> GetResources() {
     164      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     165        var query = from r in context.Resources
     166                    select Convert.ToDto(r);
     167        return query.ToList();
     168      }
     169    }
     170    #endregion
     171
     172    #region ClientLog
     173    public DT.ClientLog GetLastClientLog(Guid clientId) {
     174      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     175        var query = from r in context.ClientLogs
     176                    where r.ResourceId == clientId
     177                    select r;
     178        return Convert.ToDto(query.OrderBy(x => x.Timestamp).LastOrDefault());
     179      }
     180    }
     181
     182    public IEnumerable<DT.ClientLog> GetClientLogs(Guid clientId) {
     183      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     184        var query = from r in context.ClientLogs
     185                    where r.ResourceId == clientId
     186                    select Convert.ToDto(r);
     187        return query.ToList();
     188      }
     189    }
     190
     191    public IEnumerable<DT.ClientLog> GetClientLogsSince(DateTime startDate) {
     192      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     193        var query = from r in context.ClientLogs
     194                    where r.Timestamp >= startDate
     195                    select Convert.ToDto(r);
     196        return query.ToList();
     197      }
     198    }
     199
     200    public void AddClientLog(DT.ClientLog log) {
     201      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     202        context.ClientLogs.InsertOnSubmit(Convert.ToEntity(log));
     203        context.SubmitChanges();
     204      }
     205    }
     206
     207    public void DeleteClientLog(DT.ClientLog log) {
     208      using (DA.ClientManagementDataContext context = new DA.ClientManagementDataContext()) {
     209        context.ClientLogs.DeleteOnSubmit(Convert.ToEntity(log));
     210        context.SubmitChanges();
     211      }
     212    }
     213    #endregion
     214
     215    #region User
     216    public DT.User Login() {
     217      throw new System.NotImplementedException();
     218    }
     219
     220    public IEnumerable<DT.User> GetAllUsers() {
     221      throw new System.NotImplementedException();
     222    }
     223
     224    public IEnumerable<DT.User> GetUsers(IEnumerable<DT.User> ids) {
     225      throw new System.NotImplementedException();
     226    }
     227
     228    public DT.User AddUser(DT.User user) {
     229      throw new System.NotImplementedException();
     230    }
     231
     232    public void DeleteUser(DT.User user) {
     233      throw new System.NotImplementedException();
     234    }
     235
     236    public void UpdateUser(DT.User user) {
     237      throw new System.NotImplementedException();
     238    }
     239
     240    public void AddUserToRole(DT.Role role, DT.User user) {
     241      throw new System.NotImplementedException();
     242    }
     243
     244    public void RemoveUserFromRole(DT.Role role, DT.User user) {
     245      throw new System.NotImplementedException();
     246    }
     247
     248    public void ResetPassword(DT.User user, string password) {
     249      throw new System.NotImplementedException();
     250    }
     251    #endregion
     252
     253    public IEnumerable<DT.UserGroup> GetAllUserGroups() {
     254      throw new System.NotImplementedException();
     255    }
     256
     257    public IEnumerable<DT.UserGroup> GetUserGroups(IEnumerable<Guid> ids) {
     258      throw new System.NotImplementedException();
     259    }
     260
     261    public DT.UserGroup AddUserGroup(DT.UserGroup group) {
     262      throw new System.NotImplementedException();
     263    }
     264
     265    public void UpdateUserGroup(DT.UserGroup group) {
     266      throw new System.NotImplementedException();
     267    }
     268
     269    public void DeleteUserGroup(DT.UserGroup group) {
     270      throw new System.NotImplementedException();
     271    }
     272
     273    public void AddUserGroupBaseToGroup(DT.UserGroupBase resource, DT.UserGroup group) {
     274      throw new System.NotImplementedException();
     275    }
     276
     277    public void RemoveUserGroupBaseFromGroup(DT.UserGroupBase resource, DT.UserGroup group) {
     278      throw new System.NotImplementedException();
     279    }
     280
     281    public IEnumerable<DT.UserGroupBase> GetUsersAndGroups() {
     282      throw new System.NotImplementedException();
     283    }
     284
     285    public IEnumerable<DT.UserGroupMapping> GetUserGroupMapping() {
     286      throw new System.NotImplementedException();
     287    }
     288
     289    public IEnumerable<DT.Role> GetRoles() {
     290      throw new System.NotImplementedException();
     291    }
     292
     293    public DT.Role AddRole(DT.Role role) {
     294      throw new System.NotImplementedException();
     295    }
     296
     297    public void UpdateRole(DT.Role role) {
     298      throw new System.NotImplementedException();
     299    }
     300
     301    public void DeleteRole(DT.Role role) {
     302      throw new System.NotImplementedException();
     303    }
     304
     305    public IEnumerable<DT.Role> GetUserRoles(DT.User user) {
     306      throw new System.NotImplementedException();
     307    }
     308
     309    public void ReportError(DT.ClientError error) {
     310      throw new System.NotImplementedException();
     311    }
     312
     313    public IEnumerable<DT.ClientError> GetClientErrors() {
     314      throw new System.NotImplementedException();
     315    }
     316
     317    public IEnumerable<DT.ClientError> GetLastClientErrors(DateTime startDate) {
     318      throw new System.NotImplementedException();
     319    }
     320
     321    public void DeleteError(DT.ClientError error) {
     322      throw new System.NotImplementedException();
     323    }
    28324  }
    29325}
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/Convert.cs

    r6825 r6840  
    2626
    2727
    28 namespace HeuristicLab.Services.ClientManagement {
     28namespace HeuristicLab.Services.Access {
    2929  public static class Convert {
    3030
     
    9595        Id = source.Id,
    9696        Name = source.Name,
    97 
    9897      };
    9998    }
     
    301300    }
    302301    #endregion
     302
     303    #region ClientGroupMapping
     304    public static DT.ClientGroupMapping ToDto(DA.ResourceResourceGroup c) {
     305      return new DT.ClientGroupMapping() {
     306        Child = c.ResourceId, Parent = c.ResourceGroupId
     307      };
     308    }
     309    #endregion
     310
     311
    303312  }
    304313}
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/Resource.cs

    r6825 r6840  
    2525namespace HeuristicLab.Services.Access.DataTransfer {
    2626  [DataContract]
     27  [KnownType(typeof(Client))]
     28  [KnownType(typeof(ClientGroup))]
    2729  public class Resource : AccessItem {
    2830    [DataMember]
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/DataTransfer/UserGroupBase.cs

    r6825 r6840  
    2525namespace HeuristicLab.Services.Access.DataTransfer {
    2626  [DataContract]
     27  [KnownType(typeof(User))]
     28  [KnownType(typeof(UserGroup))]
    2729  public class UserGroupBase : AccessItem {
    2830    [DataMember]
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/HeuristicLab.Services.Access-3.3.csproj

    r6825 r6840  
    5656    <Compile Include="DataTransfer\ClientConfiguration.cs" />
    5757    <Compile Include="DataTransfer\ClientError.cs" />
     58    <Compile Include="DataTransfer\ClientGroupMapping.cs" />
    5859    <Compile Include="DataTransfer\ClientLog.cs" />
    5960    <Compile Include="DataTransfer\AccessItem.cs" />
     
    6869    <Compile Include="DataTransfer\UserGroup.cs" />
    6970    <Compile Include="DataTransfer\UserGroupBase.cs" />
     71    <Compile Include="DataTransfer\UserGroupMapping.cs" />
    7072    <Compile Include="IAccessService.cs" />
    7173    <Compile Include="Properties\AssemblyInfo.cs" />
  • branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/IAccessService.cs

    r6825 r6840  
    3838
    3939    [OperationContract]
    40     IEnumerable<Client> GetClients();
     40    IEnumerable<Client> GetClients(IEnumerable<Guid> ids);
     41
     42    [OperationContract]
     43    IEnumerable<Client> GetAllClients();
    4144
    4245    [OperationContract]
     
    4851    [OperationContract]
    4952    void DeleteClient(Client client);
     53    #endregion
     54
     55    #region Client Group
     56    [OperationContract]
     57    IEnumerable<ClientGroup> GetAllClientGroups();
     58
     59    [OperationContract]
     60    IEnumerable<ClientGroup> GetClientGroups(IEnumerable<Guid> ids);
     61
     62    [OperationContract]
     63    Guid AddClientGroup(ClientGroup group);
     64
     65    [OperationContract]
     66    void UpdateClientGroup(ClientGroup group);
     67
     68    [OperationContract]
     69    void DeleteClientGroup(ClientGroup group);
     70
     71    [OperationContract]
     72    void AddResourceToGroup(Resource resource, UserGroup group);
     73
     74    [OperationContract]
     75    void RemoveResourceFromGroup(Resource resource, UserGroup group);
     76    #endregion
     77
     78    #region ClientGroupMapping
     79    [OperationContract]
     80    IEnumerable<ClientGroupMapping> GetClientGroupMapping();
     81    #endregion
     82
     83    #region Resource
     84    [OperationContract]
     85    IEnumerable<Resource> GetResources();
    5086    #endregion
    5187
     
    6197
    6298    [OperationContract]
    63     void AddClientLogEntry(ClientLog log);
     99    void AddClientLog(ClientLog log);
    64100
    65101    [OperationContract]
    66     void DeleteClientLogEntry(ClientLog log);
    67     #endregion
    68 
    69     #region Client Group
    70     [OperationContract]
    71     IEnumerable<ClientGroup> GetClientGroups();
    72 
    73     [OperationContract]
    74     IEnumerable<ClientGroup> GetParentGroups(Guid id);
    75 
    76     [OperationContract]
    77     Guid AddClientGroup(ClientGroup group);
    78 
    79     [OperationContract]
    80     void UpdateClientGroup(ClientGroup group);
    81 
    82     [OperationContract]
    83     void DeleteClientGroup(ClientGroup group);
     102    void DeleteClientLog(ClientLog log);
    84103    #endregion
    85104
    86105    #region User
    87106    [OperationContract]
    88     void Login();
     107    User Login();
    89108
    90109    [OperationContract]
    91     IEnumerable<User> GetUsers();
     110    IEnumerable<User> GetAllUsers();
     111
     112    [OperationContract]
     113    IEnumerable<User> GetUsers(IEnumerable<User> ids);
    92114
    93115    [OperationContract]
     
    110132    #endregion
    111133
     134    #region UserGroup
     135    [OperationContract]
     136    IEnumerable<UserGroup> GetAllUserGroups();
     137
     138    [OperationContract]
     139    IEnumerable<UserGroup> GetUserGroups(IEnumerable<Guid> ids);
     140
     141    [OperationContract]
     142    UserGroup AddUserGroup(UserGroup group);
     143
     144    [OperationContract]
     145    void UpdateUserGroup(UserGroup group);
     146
     147    [OperationContract]
     148    void DeleteUserGroup(UserGroup group);
     149
     150    [OperationContract]
     151    void AddUserGroupBaseToGroup(UserGroupBase resource, UserGroup group);
     152
     153    [OperationContract]
     154    void RemoveUserGroupBaseFromGroup(UserGroupBase resource, UserGroup group);
     155    #endregion
     156
     157    #region UserGroupBase
     158    [OperationContract]
     159    IEnumerable<UserGroupBase> GetUsersAndGroups();
     160    #endregion
     161
     162    #region UserGroupMapping
     163    [OperationContract]
     164    IEnumerable<UserGroupMapping> GetUserGroupMapping();
     165    #endregion
     166
    112167    #region Role
    113168    [OperationContract]
     
    127182    #endregion
    128183
    129     #region UserGroup
     184    #region ClientError
    130185    [OperationContract]
    131     IEnumerable<UserGroup> GetUserGroups();
     186    void ReportError(ClientError error);
    132187
    133188    [OperationContract]
    134     UserGroup AddUserGroup(UserGroup group);
     189    IEnumerable<ClientError> GetClientErrors();
    135190
    136191    [OperationContract]
    137     void UpdateUserGroup(UserGroup group);
     192    IEnumerable<ClientError> GetLastClientErrors(DateTime startDate);
    138193
    139194    [OperationContract]
    140     void DeleteUserGroup(UserGroup group);
     195    void DeleteError(ClientError error);
    141196    #endregion
    142197  }
Note: See TracChangeset for help on using the changeset viewer.