This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
using System.Linq; | |
using System.Net; | |
using System.Net.Http; | |
using System.Threading.Tasks; | |
using System.Web.Http; | |
using Itsp365.InvoiceFormApp.Api.Models.Entities; | |
using Itsp365.InvoiceFormApp.Api.Repositories; | |
namespace Itsp365.InvoiceFormApp.Api.Controllers | |
{ | |
[Authorize()] | |
public class InvoiceController : ApiController | |
{ | |
private InvoiceRepository _invoiceRepository = null; | |
public InvoiceController() | |
: base() | |
{ | |
} | |
private async Task Initialise() | |
{ | |
_invoiceRepository = await InvoiceRepository.GetCurrent(); | |
} | |
public async Task<IList<InvoiceForm>> Get() | |
{ | |
IList<InvoiceForm> listOfForms = new List<InvoiceForm>(); | |
try | |
{ | |
await Initialise(); | |
listOfForms = _invoiceRepository.GetAll(); | |
} | |
catch (Exception ex) | |
{ | |
throw; | |
} | |
return listOfForms; | |
} | |
[HttpGet] | |
// GET api/values/5 | |
public async Task<InvoiceForm> Get(string reference) | |
{ | |
InvoiceForm invoiceForm = new InvoiceNotFoundForm(); | |
try | |
{ | |
await Initialise(); | |
invoiceForm = _invoiceRepository.Get(reference); | |
} | |
catch (Exception ex) | |
{ | |
throw; | |
} | |
return invoiceForm; | |
} | |
[HttpPost] | |
[Route("api/invoice/add")] | |
// POST api/values | |
public async Task Post([FromBody]InvoiceForm invoice) | |
{ | |
try | |
{ | |
await Initialise(); | |
await _invoiceRepository.Add(invoice); | |
} | |
catch (Exception ex) | |
{ | |
throw; | |
} | |
} | |
[HttpPut] | |
// PUT api/values/5 | |
public async Task Put(string reference, [FromBody]InvoiceForm invoice) | |
{ | |
try | |
{ | |
throw new NotImplementedException("Not implemented yet"); | |
} | |
catch (Exception ex) | |
{ | |
throw; | |
} | |
} | |
[HttpDelete] | |
// DELETE api/values/5 | |
public async Task Delete(string reference) | |
{ | |
try | |
{ | |
await Initialise(); | |
await _invoiceRepository.Remove(reference); | |
} | |
catch (Exception ex) | |
{ | |
throw; | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment