public async Task <IActionResult> PostRule(string app, [FromBody] CreateRuleDto request) { var command = request.ToCommand(); var response = await InvokeCommandAsync(command); return(CreatedAtAction(nameof(GetRules), new { app }, response)); }
public async Task <IActionResult> PostRule(string app, [FromBody] CreateRuleDto request) { var context = await CommandBus.PublishAsync(request.ToCommand()); var result = context.Result <EntityCreatedResult <Guid> >(); var response = EntityCreatedDto.FromResult(result); return(CreatedAtAction(nameof(GetRules), new { app }, response)); }
public async Task <IActionResult> Simulate(string app, [FromBody] CreateRuleDto request) { var rule = request.ToRule(); var simulation = await ruleRunnerService.SimulateAsync(App.NamedId(), DomainId.Empty, rule, HttpContext.RequestAborted); var response = SimulatedRuleEventsDto.FromDomain(simulation); return(Ok(response)); }
public async Task <IActionResult> Add([FromRoute] Guid tenantId, [FromBody] CreateRuleDto createRuleDto) { RuleResultDto createRuleResultDto = await this.ruleService.Add(tenantId, createRuleDto); if (createRuleResultDto.AffectedRule != null) { return(this.Ok(createRuleResultDto.AffectedRule)); } return(this.BadRequest(createRuleResultDto.ErrorMessages)); }
public async Task <RuleResultDto> Add(Guid tenantId, CreateRuleDto createRuleDto) { CreateRule createRule = this.createRuleConversionProfile.Convert(tenantId, createRuleDto); RuleResult ruleResult = await this.createRuleService.CreateRule(createRule); return(new RuleResultDto { AffectedRule = ruleResult.AffectedRule != null?this.ConvertToDto(ruleResult.AffectedRule) : null, ErrorMessages = ruleResult.ErrorMessages.Select(m => new { m.Code, m.Message }) }); }
public async Task <IActionResult> PostRule(string app, [FromBody] CreateRuleDto request) { var command = request.ToCommand(); var context = await CommandBus.PublishAsync(command); var result = context.Result <EntityCreatedResult <Guid> >(); var response = new EntityCreatedDto { Id = result.IdOrValue.ToString(), Version = result.Version }; return(CreatedAtAction(nameof(GetRules), new { app }, response)); }
public CreateRule Convert(Guid tenantId, CreateRuleDto createRuleDto) { return(new CreateRule { ContentTypeCode = createRuleDto.ContentTypeCode, DateBegin = createRuleDto.DateBegin, DateEnd = createRuleDto.DateEnd, Name = createRuleDto.Name, Priority = createRuleDto.Priority, RootCondition = createRuleDto.RootCondition != null?this.conditionNodeConversionProfile.Convert(createRuleDto.RootCondition) : null, TenantId = tenantId }); }
public static CreateRule ToCommand(this CreateRuleDto dto) { var command = new CreateRule(); if (dto.Action != null) { command.Action = dto.Action.ToAction(); } if (dto.Trigger != null) { command.Trigger = dto.Trigger.ToTrigger(); } return(command); }