From 3a951297faef867bde921b8706a7739405b96ec5 Mon Sep 17 00:00:00 2001 From: suhacan Date: Wed, 11 Nov 2009 01:53:22 +0000 Subject: [PATCH] - Service layer for the Roles module. --HG-- extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4039510 --- .../Orchard.Roles/Services/RoleService.cs | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/Orchard.Web/Packages/Orchard.Roles/Services/RoleService.cs diff --git a/src/Orchard.Web/Packages/Orchard.Roles/Services/RoleService.cs b/src/Orchard.Web/Packages/Orchard.Roles/Services/RoleService.cs new file mode 100644 index 000000000..96a43c1e0 --- /dev/null +++ b/src/Orchard.Web/Packages/Orchard.Roles/Services/RoleService.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Orchard.Data; +using Orchard.Logging; +using Orchard.Roles.Models; + +namespace Orchard.Roles.Services { + public interface IRoleService : IDependency { + IEnumerable GetRoles(); + RoleRecord GetRole(int id); + void CreateRole(string roleName); + void UpdateRole(int id, string roleName); + void DeleteRole(int id); + } + + public class RoleService : IRoleService { + private readonly IRepository _roleRepository; + + public RoleService(IRepository roleRepository) { + _roleRepository = roleRepository; + Logger = NullLogger.Instance; + } + + public ILogger Logger { get; set; } + + #region Implementation of IRoleService + + public IEnumerable GetRoles() { + var roles = from role in _roleRepository.Table select role; + return roles.ToList(); + } + + public RoleRecord GetRole(int id) { + return _roleRepository.Get(id); + } + + public void CreateRole(string roleName) { + _roleRepository.Create(new RoleRecord { Name = roleName }); + } + + public void UpdateRole(int id, string roleName) { + _roleRepository.Update(new RoleRecord { Id = id, Name = roleName }); + } + + public void DeleteRole(int id) { + _roleRepository.Delete(new RoleRecord { Id = id }); + } + + #endregion + } +}