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)); }
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)); }
public async Task CreateAsync(CreateCampaignRequest request) { var entity = new CampaignEntity { Name = request.Name }; await(await _container).CreateItemAsync(await _entityMutator.CreateMetadataAsync(entity, request.SharedWith)); }
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)); }
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)); }