/// <summary> /// Changes salutation asynchronously. /// </summary> /// <param name="request">The <see cref="SalutationChangeRequest" /> instance.</param> /// <returns>Returns the <see cref="SalutationChangeResponse" /> instance.</returns> public async Task <SalutationChangeResponse> ChangeSalutationAsync(SalutationChangeRequest request) { var handler = this._handlers.SingleOrDefault(p => p.CanHandle(request)); if (handler == null) { return(await Task.FromResult(default(SalutationChangeResponse))); } var ev = handler.CreateEvent(request) as SalutationChangedEvent; PopulateBaseProperties(ev); SalutationChangeResponse response; try { await this._processor.ProcessEventsAsync(new[] { ev }); response = new SalutationChangeResponse() { Data = new SalutationResponseData() { Value = request.Value } }; } catch (Exception ex) { response = new SalutationChangeResponse() { Error = new ResponseError() { Message = ex.Message, StackTrace = ex.StackTrace, } }; } return(await Task.FromResult(response)); }
public virtual async Task <SalutationChangeResponse> SetSalutation([FromBody] SalutationChangeRequest request) { var response = await this._service.ChangeSalutationAsync(request); return(response); }