public async Task<StatusData<string>> CategoryFriendsCopy(CopyCategory request, SystemSession session)
        {
            var userCategory = new UserCategory { UserId = session.UserId.ToString() };
            var friends = string.Join(",", request.Friends);
            var result = new StatusData<string>();
            var isOperationSuccessful = true;
            foreach (var categoryId in request.TargetCategories)
            {
                userCategory.UserCategoryTypeId = categoryId;
                var serviceResponse = await Task.Factory.StartNew(() => Client.UserService.insertInCategory(userCategory, friends, session.GetSession())).ConfigureAwait(false);
                isOperationSuccessful &= ((SystemDbStatus)serviceResponse.DbStatusCode).IsOperationSuccessful();
            }
            if (request.RemoveFromSource)
            {
                userCategory.UserCategoryTypeId = request.CategoryId;
                var serviceResponse = await Task.Factory.StartNew(() => Client.UserService.removeFromCategory(userCategory, friends, session.GetSession())).ConfigureAwait(false);
                isOperationSuccessful &= ((SystemDbStatus)serviceResponse.DbStatusCode).IsOperationSuccessful();
            }

            result.Status = isOperationSuccessful ? SystemDbStatus.Inserted : SystemDbStatus.Duplicate;
            return result;
        }
 public Task<StatusData<string>> CategoryFriendsCopy(CopyCategory request, SystemSession session)
 {
     return _jUnitOfWork.Category.CategoryFriendsCopy(request, session);
 }