//// Controller code should only contain two lines i.e. invocation of service public async Task <IActionResult> AddOrderAsync([FromBody] AddOrderWebRequest request) { //// Decouple models/request-response from Api and Service layer //// Create Extension `.AsRequest` to convert models. var result = await this.service.CreateOrderAsync(request.AsRequest()); return(this.CreateResponse(result.AsWebResponse())); }
public static CreateOrderRequest AsRequest(this AddOrderWebRequest request) { var result = new CreateOrderRequest { SenderEmail = request.SenderEmail, SenderName = request.SenderName, RecipientEmail = request.RecipientEmail, RecipientName = request.RecipientName, Voucher = request.Voucher, Dedication = request.Dedication }; return(result); }
public async Task <IActionResult> AddOrderAsync([FromBody] AddOrderWebRequest request) { var result = await this.service.CreateOrderAsync(request.AsRequest()); return(this.CreateResponse(result.AsWebResponse())); }