コード例 #1
0
        public async Task CreateAsync(CreateDowntimeRequest request)
        {
            var character = await _characterReadRepository.GetByIdAsync(request.CharacterId);

            var activity = await _activityReadRepository.GetByIdAsync(request.ActivityId);

            var costs = request.Costs
                        .Select(p => new DowntimeCostEntity
            {
                ActivityCostKind = p.ActivityCostKind,
                Value            = 0,
                Goal             = p.Goal
            })
                        .ToArray();

            var entity = new DowntimeEntity
            {
                Character  = character,
                Activity   = activity,
                Costs      = costs,
                SharedWith = character.SharedWith.Concat(activity.SharedWith).ToArray()
            };

            await(await _container).CreateItemAsync(await _entityMutator.CreateMetadataAsync(entity, request.SharedWith));
        }
コード例 #2
0
        public async Task CreateAsync(CreateActivityRequest request)
        {
            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 entity = new ActivityEntity
            {
                Name = request.Name,
                DescriptionMarkdown  = request.DescriptionMarkdown,
                ComplicationMarkdown = request.ComplicationMarkdown,
                Costs = costs
            };

            await(await _container).CreateItemAsync(await _entityMutator.CreateMetadataAsync(entity, request.SharedWith));
        }
コード例 #3
0
        public async Task CreateAsync(CreateCampaignRequest request)
        {
            var entity = new CampaignEntity
            {
                Name = request.Name
            };

            await(await _container).CreateItemAsync(await _entityMutator.CreateMetadataAsync(entity, request.SharedWith));
        }
コード例 #4
0
        public async Task CreateAsync(CreateApiKeyRequest request)
        {
            var entity = new ApiKeyEntity
            {
                Owner       = request.Owner,
                Permissions = request.Permissions
            };

            await(await _container).CreateItemAsync(await _entityMutator.CreateMetadataAsync(entity, request.SharedWith));
        }
コード例 #5
0
        public async Task CreateAsync(CreateCharacterRequest request)
        {
            var entity = new CharacterEntity
            {
                PlayerFullName      = request.PlayerFullName,
                CharacterFullName   = request.CharacterFullName,
                AccruedDowntimeDays = 0
            };

            await(await _container).CreateItemAsync(await _entityMutator.CreateMetadataAsync(entity, request.SharedWith));
        }