public async Task <IActionResult> GetByInvoice(string invoice) { if (String.IsNullOrEmpty(invoice)) { return(StatusCode(400, "Invalid parameter(s).")); } //Get data var data = await _repo.GetByInvoiceNumber(invoice); if (data == null) { return(StatusCode(500, "Invoice items belonging to invoice '" + invoice + "' could not be found.")); } //Convert to viewmodel var result = data.Select(s => new InvoiceItemViewModel { InvoiceNumber = s.InvoiceNumber, Name = s.Name, Price = s.Price, Description = s.Description, Tax = s.Tax, Quantity = s.Quantity, ItemNumber = s.ItemNumber }); return(Ok(result)); }