public async Task <QueryResult <GroupDto> > GetProjectGroupsAsync(int projectId, TabularData tabularData, Func <Sorting, string> sort = null) { if (projectId < 1) { throw new ArgumentOutOfRangeException(nameof(projectId)); } var orderField = string.Empty; if (sort != null && tabularData.Sorting != null) { orderField = sort(tabularData.Sorting); } if (!string.IsNullOrWhiteSpace(tabularData.Search)) { tabularData.Search = UsersHelper.ReplaceWildcardCharacters(tabularData.Search); } var prm = new DynamicParameters(); prm.Add("@projectId", projectId); prm.Add("@Offset", tabularData.Pagination.Offset); prm.Add("@Limit", tabularData.Pagination.Limit); prm.Add("@OrderField", orderField); prm.Add("@Search", tabularData.Search); prm.Add("@Total", dbType: DbType.Int32, direction: ParameterDirection.Output); prm.Add("@ErrorCode", dbType: DbType.Int32, direction: ParameterDirection.Output); var result = (await _connectionWrapper.QueryAsync <Group>("GetAvailableGroupsForProject", prm, commandType: CommandType.StoredProcedure)).ToList(); var errorCode = prm.Get <int?>("ErrorCode"); if (errorCode.HasValue) { switch (errorCode.Value) { case (int)SqlErrorCodes.ProjectWithCurrentIdNotExist: throw new ResourceNotFoundException(ErrorMessages.ProjectNotExist, ErrorCodes.ResourceNotFound); } } var total = prm.Get <int?>("Total"); var queryDataResult = new QueryResult <GroupDto> { Items = GroupMapper.Map(result), Total = total ?? 0 }; return(queryDataResult); }
public async Task <QueryResult <GroupDto> > GetUserGroupsAsync(int userId, TabularData tabularData, Func <Sorting, string> sort = null) { var orderField = string.Empty; if (sort != null && tabularData.Sorting != null) { orderField = sort(tabularData.Sorting); } if (!string.IsNullOrWhiteSpace(tabularData.Search)) { tabularData.Search = UsersHelper.ReplaceWildcardCharacters(tabularData.Search); } var parameters = new DynamicParameters(); parameters.Add("@UserId", userId); parameters.Add("@Offset", tabularData.Pagination.Offset); parameters.Add("@Limit", tabularData.Pagination.Limit); parameters.Add("@OrderField", orderField); parameters.Add("@Search", tabularData.Search); parameters.Add("@Total", dbType: DbType.Int32, direction: ParameterDirection.Output); parameters.Add("@ErrorCode", dbType: DbType.Int32, direction: ParameterDirection.Output); var userGroups = await _connectionWrapper.QueryAsync <Group>("GetUsersGroups", parameters, commandType : CommandType.StoredProcedure); var total = parameters.Get <int?>("Total"); var errorCode = parameters.Get <int?>("ErrorCode"); if (errorCode.HasValue) { switch (errorCode.Value) { case (int)SqlErrorCodes.GeneralSqlError: throw new BadRequestException(ErrorMessages.GeneralErrorOfGettingUserGroups); case (int)SqlErrorCodes.UserLoginNotExist: throw new ResourceNotFoundException(ErrorMessages.UserNotExist, ErrorCodes.ResourceNotFound); } } if (!total.HasValue) { throw new BadRequestException(ErrorMessages.TotalNull); } var mappedGroups = GroupMapper.Map(userGroups); var queryDataResult = new QueryResult <GroupDto>() { Items = mappedGroups, Total = total.Value }; return(queryDataResult); }
public async Task <HueGroup> GetGroup(string id, CancellationToken cancellationToken) { Group?group = await _hueClient.GetGroupAsync(id); if (group == null) { throw new NotFoundException(id); } return(GroupMapper.Map(group)); }
public async Task <GroupDto> GetGroupDetailsAsync(int groupId) { var parameters = new DynamicParameters(); parameters.Add("@GroupId", groupId); var result = await _connectionWrapper.QueryAsync <Group>("GetGroupDetails", parameters, commandType : CommandType.StoredProcedure); var enumerable = result as IList <Group> ?? result.ToList(); var group = enumerable.Any() ? enumerable.First() : new Group(); return(GroupMapper.Map(group)); }
public IEnumerable <IGroup> GetUserGroups(Guid userId) { var mapper = new GroupMapper(); return(mapper.Map(queryService.GetUserGroups(userId))); }
public IGroup GetGroup(Guid groupId) { var mapper = new GroupMapper(); return(mapper.Map(queryService.GetGroup(groupId))); }
public IEnumerable <IGroup> GetGroups() { var mapper = new GroupMapper(); return(mapper.Map(queryService.GetGroups())); }