public async Task <IHttpActionResult> PutAsync(int id, [FromBody] RuleItemDto model, CancellationToken cancellationToken) { if (model == null) { return(BadRequest()); } var rule = ModelMapper.ToRuleItem(model); rule.Id = id; var validationResult = await _ruleManager.UpdateAsync(rule, cancellationToken); if (validationResult.Succeeded == false) { return(this.ValidationContent(validationResult)); } return(new RuleItemContentResult(rule, this)); }
/// <summary> /// Returns with a <see cref="RuleItem" /> domain object. /// </summary> /// <param name="ruleDto">The data transfer object (DTO) to map to a domain object.</param> /// <returns> /// The <see cref="RuleItem" />. /// </returns> public static RuleItem ToRuleItem(RuleItemDto ruleDto) { var rule = new RuleItem(); if (ruleDto.Conditions != null) { foreach (var condition in ruleDto.Conditions) { rule.Conditions.Add(condition); } } if (ruleDto.Actions != null) { foreach (var action in ruleDto.Actions) { rule.Actions.Add(action); } } return(rule); }
public async Task <IHttpActionResult> PostAsync([FromBody] RuleItemDto model, CancellationToken cancellationToken) { if (model == null) { return(BadRequest()); } var user = await _userManager.FindByIdAsync(ApiSecurity.CurrentUserId, cancellationToken); if (user == null) { return(StatusCode(HttpStatusCode.Forbidden)); } var rule = ModelMapper.ToRuleItem(model); var validationResult = await _ruleManager.CreateAsync(rule, user, cancellationToken); if (validationResult.Succeeded == false) { return(this.ValidationContent(validationResult)); } return(new RuleItemContentResult(HttpStatusCode.Created, rule, this)); }