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); }