コード例 #1
0
        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
                );
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
 public async Task UpdateAsync(string id, UpdateDowntimeRequest request) =>
 await _service.UpdateAsync(id, request);
コード例 #4
0
 public async Task UpdateAsync(string id, UpdateDowntimeRequest request) =>
 await _writeRepository.UpdateAsync(id, request);