/// <summary> /// Updates the user. /// </summary> /// <param name="user">The user.</param> /// <param name="replace">if set to <c>true</c> [replace].</param> /// <returns>Task{OperationResult}.</returns> public async Task <OperationResult> UpdateUser(User user, bool replace) { //replace should be set to false only for simple changes (nickname and image) if (!replace) { var updatingUser = user.ToAzureModel(); return(await _azureManager.UpsertEntityAsync(updatingUser, false)); } var userRelatedEntities = await _azureManager.GetEntitiesAsync(new TableQuery <UserAzure>().Where(user.Id.GetFilterById())); var userAzure = userRelatedEntities.FirstOrDefault(u => u.IsUserEntity); var newUser = user.ToAzureModel(); newUser.CopyToTableEntity(userAzure); var entitiesToDelete = userRelatedEntities.Where(m => m.IsPersonQualityLink).ToList(); var entitiesToAdd = GeneratePersonQualityLinks(user); var entitiesToUpdate = AzureTableExtensions.FilterUpdatableLinks(entitiesToAdd, entitiesToDelete); entitiesToUpdate.Add(userAzure); return (await _azureManager.UpdateEntityBatchAsync(entitiesToUpdate, entitiesToAdd, entitiesToDelete)); }
/// <summary> /// Updates the specified kind action. /// </summary> /// <param name="kindAction">The kind action.</param> /// <returns></returns> public async Task <OperationResult> UpdateLikes(KindAction kindAction) { var updatedKindAction = kindAction.ToAzureModel(); return(await _azureManager.UpsertEntityAsync(updatedKindAction, false)); }
public async Task <OperationResult> UpsertAppCounters(AppCounters appCounters) { var azureModel = appCounters.ToAzureModel(); return(await _azureManager.UpsertEntityAsync(azureModel, false)); }