public IActionResult Get(int id) { /* TODO API Result */ /* Dibawah ini hanya dummy */ return(Ok(_mapper.Map <PurchaseRequestViewModel>(_facade.ReadById(id)))); }
public async Task <IActionResult> GetAsync(int id) { try { var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf"); PurchaseRequest model = facade.ReadById(id); PurchaseRequestViewModel viewModel = mapper.Map <PurchaseRequestViewModel>(model); if (viewModel == null) { throw new Exception("Invalid Id"); } if (indexAcceptPdf < 0) { return(Ok(new { apiVersion = ApiVersion, statusCode = General.OK_STATUS_CODE, message = General.OK_MESSAGE, data = viewModel, })); } else { int clientTimeZoneOffset = int.Parse(Request.Headers["x-timezone-offset"].First()); PurchaseRequestPDFTemplate PdfTemplate = new PurchaseRequestPDFTemplate(); MemoryStream stream = PdfTemplate.GeneratePdfTemplate(viewModel, clientTimeZoneOffset); return(new FileStreamResult(stream, "application/pdf") { FileDownloadName = $"{viewModel.no}.pdf" }); } } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }