public async Task UpdateAsync(string id, UpdateDowntimeRequest request) { var entity = await _readRepository.GetByIdAsync(id); var costs = request.Costs .Select(p => new DowntimeCostEntity { ActivityCostKind = p.ActivityCostKind, Value = p.Value, Goal = p.Goal }) .ToArray(); var updatedEntity = new DowntimeEntity { Character = entity.Character, Activity = entity.Activity, Costs = costs }; await(await _container).ReplaceItemAsync( await _entityMutator.UpdateMetadataAsync(updatedEntity, entity, request.SharedWith), id ); }
public async Task UpdateAsync(string id, UpdateCharacterRequest request) { var entity = await _readRepository.GetByIdAsync(id); var updatedEntity = new CharacterEntity { PlayerFullName = request.PlayerFullName, CharacterFullName = request.CharacterFullName, AccruedDowntimeDays = request.AccruedDowntimeDays }; await(await _container).ReplaceItemAsync( await _entityMutator.UpdateMetadataAsync(updatedEntity, entity, request.SharedWith), id ); }
public async Task UpdateAsync(string id, UpdateCampaignRequest request) { var entity = await _readRepository.GetByIdAsync(id); var updatedEntity = new CampaignEntity { Name = request.Name }; await(await _container).ReplaceItemAsync( await _entityMutator.UpdateMetadataAsync(updatedEntity, entity, request.SharedWith), id ); }
public async Task UpdateAsync(string key, UpdateApiKeyRequest request) { var entity = await _readRepository.GetByKeyAsync(key); var updatedEntity = new ApiKeyEntity { Owner = request.Owner ?? entity.Owner, Permissions = request.Permissions ?? entity.Permissions }; await(await _container).ReplaceItemAsync( await _entityMutator.UpdateMetadataAsync(updatedEntity, entity, request.SharedWith), key ); }
public async Task UpdateAsync(string id, UpdateActivityRequest request) { var entity = await _readRepository.GetByIdAsync(id); var costs = request.Costs .Select(c => { var parameters = c.Parameters .Select(p => new ActivityParameterEntity { VariableName = p.VariableName, Description = p.Description }) .ToArray(); return(new ActivityCostEntity { Kind = c.Kind, JexlExpression = c.JexlExpression, Parameters = parameters }); }) .ToArray(); var updatedEntity = new ActivityEntity { Name = request.Name, DescriptionMarkdown = request.DescriptionMarkdown, ComplicationMarkdown = request.ComplicationMarkdown, Costs = costs }; await(await _container).ReplaceItemAsync( await _entityMutator.UpdateMetadataAsync(updatedEntity, entity, request.SharedWith), id ); }