public IEnumerable<Member> GetMembers(int roleId) { var entity = new MemberEntity(); var dataAccess = this.EnsureService<IDataAccess>(); var oql = OQL.From(entity) .Select() .Where(p => p.Compare(entity.RoleId, "=", roleId)) .OrderBy(p => p.Desc(entity.RoleId)) .End(); var entities = dataAccess.Select<MemberEntity>(oql); return Mapper.Map<IEnumerable<MemberEntity>, IEnumerable<Member>>(entities); }
public int DeleteMembers(IEnumerable<Member> members) { if(members == null) return 0; var dataAccess = this.EnsureService<IDataAccess>(); dataAccess.BeginTransaction(); var count = 0; try { foreach(var member in members) { if(member == null) continue; var entity = new MemberEntity { RoleId = member.RoleId, MemberId = member.MemberId, MemberType = Convert.ConvertValue<byte>(member.MemberType) }; count += dataAccess.Delete(entity); } dataAccess.Commit(); } catch(Exception ex) { dataAccess.Rollback(); throw ex; } return count; }
public IEnumerable<Role> GetRoles(int memberId, MemberType memberType) { var role = new RoleEntity(); var member = new MemberEntity(); var dataAccess = this.EnsureService<IDataAccess>(); var child = OQL.From(member) .Select(member.RoleId) .Where(p => p.Compare(member.MemberId, "=", memberId) & p.Compare(member.MemberType, "=", Convert.ConvertValue<byte>(memberType))) .End(); var master = OQL.From(role) .Select() .Where(p => p.Compare(role.RoleId, CompareOperator.In, child)) .End(); var entities = dataAccess.Select<RoleEntity>(master); return Mapper.Map<IEnumerable<RoleEntity>, IEnumerable<Role>>(entities); }