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) { await _writeRepository.UpdateAsync(id, request); var ownedDowntimes = await _downtimeReadRepository.GetAsync(d => d.Character.Id == id); foreach (var downtime in ownedDowntimes) { var downtimeUpdate = new UpdateDowntimeRequest { Costs = downtime.Costs .Select(c => new UpdateDowntimeCostRequest { ActivityCostKind = c.ActivityCostKind, Goal = c.Goal, Value = c.Value }) .ToArray(), SharedWith = request.SharedWith }; await _downtimeWriteRepository.UpdateAsync(downtime.Id, downtimeUpdate); } }
public async Task UpdateAsync(string id, UpdateDowntimeRequest request) => await _service.UpdateAsync(id, request);
public async Task UpdateAsync(string id, UpdateDowntimeRequest request) => await _writeRepository.UpdateAsync(id, request);