public async Task <ActionResult> Post([FromBody] PPHBankExpenditureNoteViewModel viewModel) { this.identityService.Token = Request.Headers["Authorization"].First().Replace("Bearer ", ""); this.identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value; IValidateService validateService = (IValidateService)serviceProvider.GetService(typeof(IValidateService)); try { validateService.Validate(viewModel); PPHBankExpenditureNote model = viewModel.ToModel(); await PPHBankExpenditureNoteFacade.Create(model, this.identityService.Username); Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE) .Ok(); return(Created(String.Concat(Request.Path, "/", 0), Result)); } catch (ServiceValidationExeption e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE) .Fail(e); return(BadRequest(Result)); } 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)); } }
public void Should_Success_Validate_Date_Data() { PPHBankExpenditureNoteViewModel vm = new PPHBankExpenditureNoteViewModel() { Date = DateTimeOffset.UtcNow.AddDays(1), Bank = null, IncomeTax = null, PPHBankExpenditureNoteItems = new List <UnitPaymentOrderViewModel>() }; Assert.True(vm.Validate(null).Count() > 0); }
public async Task <IActionResult> GetById([FromRoute] int Id) { try { var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf"); var model = await PPHBankExpenditureNoteFacade.ReadById(Id); if (model == null) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.NOT_FOUND_STATUS_CODE, General.NOT_FOUND_MESSAGE) .Fail(); return(NotFound(Result)); } var viewModel = new PPHBankExpenditureNoteViewModel(model); if (indexAcceptPdf < 0) { return(Ok(new { apiVersion = ApiVersion, data = viewModel, message = General.OK_MESSAGE, statusCode = General.OK_STATUS_CODE })); } else { int clientTimeZoneOffset = int.Parse(Request.Headers["x-timezone-offset"].First()); PPHBankExpenditureNotePDFTemplate PdfTemplate = new PPHBankExpenditureNotePDFTemplate(); MemoryStream stream = PdfTemplate.GeneratePdfTemplate(model, clientTimeZoneOffset); return(new FileStreamResult(stream, "application/pdf") { FileDownloadName = $"PPH Bank Expenditure Note {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)); } }