public void Should_Success_Validate_Data() { UnitPaymentOrderViewModel nullViewModel = new UnitPaymentOrderViewModel(); Assert.True(nullViewModel.Validate(null).Count() > 0); UnitPaymentOrderViewModel viewModel = new UnitPaymentOrderViewModel() { useIncomeTax = true, useVat = true, items = new List <UnitPaymentOrderItemViewModel> { new UnitPaymentOrderItemViewModel(), new UnitPaymentOrderItemViewModel() { unitReceiptNote = new UnitReceiptNote { _id = 1 } }, new UnitPaymentOrderItemViewModel() { unitReceiptNote = new UnitReceiptNote { _id = 1 } } } }; Assert.True(viewModel.Validate(null).Count() > 0); }
public async Task <IActionResult> Put([FromRoute] int id, [FromBody] UnitPaymentOrderViewModel vm) { identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value; identityService.Token = Request.Headers["Authorization"].FirstOrDefault().Replace("Bearer ", ""); UnitPaymentOrder m = mapper.Map <UnitPaymentOrder>(vm); IValidateService validateService = (IValidateService)serviceProvider.GetService(typeof(IValidateService)); try { validateService.Validate(vm); int result = await facade.Update(id, m, identityService.Username); return(NoContent()); } 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 IActionResult GetPDF(int id) { try { var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf"); identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value; UnitPaymentCorrectionNote model = _facade.ReadById(id); UnitPaymentCorrectionNoteViewModel viewModel = _mapper.Map <UnitPaymentCorrectionNoteViewModel>(model); 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()); UnitPaymentOrder spbModel = _spbFacade.ReadById((int)model.UPOId); UnitPaymentOrderViewModel viewModelSpb = _mapper.Map <UnitPaymentOrderViewModel>(spbModel); var supplier = _facade.GetSupplier(model.SupplierId); var supplier_address = ""; if (supplier != null) { supplier_address = supplier.address; } var temp_date = new DateTimeOffset(); foreach (var item in viewModel.items) { Lib.Models.UnitReceiptNoteModel.UnitReceiptNote urnModel = _facade.ReadByURNNo(item.uRNNo); UnitReceiptNoteViewModel viewModelUrn = _mapper.Map <UnitReceiptNoteViewModel>(urnModel); if (viewModelUrn != null && temp_date < viewModelUrn.date) { temp_date = viewModelUrn.date; } } UnitPaymentQuantityCorrectionNotePDFTemplate PdfTemplate = new UnitPaymentQuantityCorrectionNotePDFTemplate(); MemoryStream stream = PdfTemplate.GeneratePdfTemplate(viewModel, viewModelSpb, temp_date, supplier_address, identityService.Username, clientTimeZoneOffset); return(new FileStreamResult(stream, "application/pdf") { FileDownloadName = $"{model.UPCNo}.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)); } }
public IActionResult GetPDF(int id) { try { var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf"); identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value; UnitPaymentCorrectionNote model = _facade.ReadById(id); UnitPaymentCorrectionNoteViewModel viewModel = _mapper.Map <UnitPaymentCorrectionNoteViewModel>(model); //if (indexAcceptPdf < 0) //{ // return Ok(new // { // apiVersion = ApiVersion, // statusCode = General.OK_STATUS_CODE, // message = General.OK_MESSAGE, // data = viewModel, // }); //} //else //{ SupplierViewModel supplier = _facade.GetSupplier(viewModel.supplier._id); viewModel.supplier.address = supplier == null ? "" : supplier.address; int clientTimeZoneOffset = int.Parse(Request.Headers["x-timezone-offset"].First()); UnitPaymentOrder spbModel = _spbFacade.ReadById((int)model.UPOId); UnitPaymentOrderViewModel viewModelSpb = _mapper.Map <UnitPaymentOrderViewModel>(spbModel); DateTimeOffset? receiptDate = null; var today = new DateTime(1970, 1, 1); foreach (var item in model.Items) { Lib.Models.UnitReceiptNoteModel.UnitReceiptNote urnModel = _facade.GetUrn(item.URNNo); if (receiptDate == null || urnModel.ReceiptDate > receiptDate) { receiptDate = urnModel == null ? today : urnModel.ReceiptDate; } } UnitPaymentPriceCorrectionNotePDFTemplate PdfTemplate = new UnitPaymentPriceCorrectionNotePDFTemplate(); MemoryStream stream = PdfTemplate.GeneratePdfTemplate(viewModel, viewModelSpb, identityService.Username, clientTimeZoneOffset, receiptDate); return(new FileStreamResult(stream, "application/pdf") { FileDownloadName = $"{model.UPCNo}.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)); } }
public IActionResult GetPDFNotaRetur(int id) { try { var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf"); UnitPaymentCorrectionNote model = _facade.ReadById(id); UnitPaymentCorrectionNoteViewModel viewModel = _mapper.Map <UnitPaymentCorrectionNoteViewModel>(model); 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()); UnitPaymentQuantityCorrectionNotePDFTemplate PdfTemplate = new UnitPaymentQuantityCorrectionNotePDFTemplate(); UnitPaymentOrder spbModel = _spbFacade.ReadById((int)model.UPOId); UnitPaymentOrderViewModel viewModelSpb = _mapper.Map <UnitPaymentOrderViewModel>(spbModel); MemoryStream stream = PdfTemplate.GeneratePdfNotaReturTemplate(viewModel, viewModelSpb, clientTimeZoneOffset); return(new FileStreamResult(stream, "application/pdf") { FileDownloadName = $"{model.UPCNo}.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)); } }
public async Task <IActionResult> Post([FromBody] UnitPaymentOrderViewModel viewModel) { identityService.Token = Request.Headers["Authorization"].First().Replace("Bearer ", ""); identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value; IValidateService validateService = (IValidateService)serviceProvider.GetService(typeof(IValidateService)); try { validateService.Validate(viewModel); var model = mapper.Map <UnitPaymentOrder>(viewModel); int clientTimeZoneOffset = int.Parse(Request.Headers["x-timezone-offset"].First()); int result = await facade.Create(model, identityService.Username, viewModel.supplier.import, clientTimeZoneOffset); 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 MemoryStream GeneratePdfTemplate(UnitPaymentCorrectionNoteViewModel viewModel, UnitPaymentOrderViewModel viewModelSpb, string username, int clientTimeZoneOffset, DateTimeOffset?receiptDate) { Font header_font = FontFactory.GetFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 14); Font small_normal_font = FontFactory.GetFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 8); Font normal_font = FontFactory.GetFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 8); Font bold_font = FontFactory.GetFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 14); Font middle_bold_font = FontFactory.GetFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 12); Font terbilang_bold_font = FontFactory.GetFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 10); Font small_bold_font = FontFactory.GetFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 8); double totalPPn = 0; double totalPPh = 0; double totalDibayar = 0; double total = 0; string currencyCodePPn = ""; string currencyCodeTotal = ""; string currencyDesc = ""; //DateTime receiptDate = new DateTime(); Document document = new Document(PageSize.A5.Rotate(), 18, 18, 17, 10); //document.SetPageSize(iTextSharp.text.PageSize.A4.Rotate()) MemoryStream stream = new MemoryStream(); try { PdfWriter writer = PdfWriter.GetInstance(document, stream); document.Open(); #region Header //string titleString = "NOTA KOREKSI"; //Paragraph title = new Paragraph(titleString, bold_font) { Alignment = Element.ALIGN_CENTER }; //document.Add(title); //string companyNameString = "PT DAN LIRIS"; //Paragraph companyName = new Paragraph(companyNameString, header_font) { Alignment = Element.ALIGN_LEFT }; //document.Add(companyName); PdfPTable tableHeader = new PdfPTable(3); tableHeader.SetWidths(new float[] { 4f, 5f, 4f }); PdfPCell cellHeaderContentLeft = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_LEFT }; PdfPCell cellHeaderContentRight = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_RIGHT }; PdfPCell cellHeaderContentCenter = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_CENTER }; cellHeaderContentLeft.Phrase = new Phrase("PT DAN LIRIS", bold_font); tableHeader.AddCell(cellHeaderContentLeft); cellHeaderContentCenter.Phrase = new Phrase("NOTA KOREKSI", bold_font); tableHeader.AddCell(cellHeaderContentCenter); cellHeaderContentRight.Phrase = new Phrase(""); tableHeader.AddCell(cellHeaderContentRight); cellHeaderContentLeft.Phrase = new Phrase("BANARAN, GROGOL, SUKOHARJO", small_normal_font); tableHeader.AddCell(cellHeaderContentLeft); cellHeaderContentCenter.Phrase = new Phrase(viewModel.correctionType, small_normal_font); tableHeader.AddCell(cellHeaderContentCenter); cellHeaderContentLeft.Phrase = new Phrase("FM-PB-00-06-015/R3", terbilang_bold_font); tableHeader.AddCell(cellHeaderContentLeft); cellHeaderContentLeft.Phrase = new Phrase(""); tableHeader.AddCell(cellHeaderContentLeft); cellHeaderContentCenter.Phrase = new Phrase(""); tableHeader.AddCell(cellHeaderContentCenter); cellHeaderContentLeft.Phrase = new Phrase($"SUKOHARJO, {viewModel.correctionDate.ToOffset(new TimeSpan(clientTimeZoneOffset, 0, 0)).ToString("dd MMMM yyyy", new CultureInfo("id-ID"))}", normal_font); tableHeader.AddCell(cellHeaderContentLeft); cellHeaderContentLeft.Phrase = new Phrase(""); tableHeader.AddCell(cellHeaderContentLeft); cellHeaderContentCenter.Phrase = new Phrase(""); tableHeader.AddCell(cellHeaderContentCenter); cellHeaderContentLeft.Phrase = new Phrase("(" + viewModel.supplier.code + ") " + viewModel.supplier.name + "\n" + viewModel.supplier.address, normal_font); tableHeader.AddCell(cellHeaderContentLeft); PdfPCell cellHeader = new PdfPCell(tableHeader); tableHeader.ExtendLastRow = false; tableHeader.SpacingAfter = 1f; document.Add(tableHeader); #endregion #region Identity PdfPTable tableIdentity = new PdfPTable(4); tableIdentity.SetWidths(new float[] { 3f, 7f, 1.3f, 5f }); PdfPCell cellIdentityContentLeft = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_LEFT }; PdfPCell cellIdentityContentRight = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_RIGHT }; cellIdentityContentLeft.Phrase = new Phrase("Retur/Potongan", normal_font); tableIdentity.AddCell(cellIdentityContentLeft); cellIdentityContentLeft.Phrase = new Phrase(": " + viewModel.category.name, normal_font); tableIdentity.AddCell(cellIdentityContentLeft); cellIdentityContentRight.Phrase = new Phrase("", normal_font); tableIdentity.AddCell(cellIdentityContentRight); cellIdentityContentLeft.Phrase = new Phrase($"Nomor : {viewModel.uPCNo}", middle_bold_font); cellIdentityContentLeft.Rowspan = 2; tableIdentity.AddCell(cellIdentityContentLeft); cellIdentityContentLeft.Phrase = new Phrase("Untuk", normal_font); tableIdentity.AddCell(cellIdentityContentLeft); cellIdentityContentLeft.Phrase = new Phrase(": " + viewModel.division.name, normal_font); tableIdentity.AddCell(cellIdentityContentLeft); cellIdentityContentLeft.Phrase = new Phrase("", normal_font); tableIdentity.AddCell(cellIdentityContentLeft); cellIdentityContentLeft.Phrase = new Phrase("", normal_font); tableIdentity.AddCell(cellIdentityContentLeft); //cellIdentityContentLeft.Phrase = new Phrase("No.", normal_font); //tableIdentity.AddCell(cellIdentityContentLeft); //cellIdentityContentLeft.Phrase = new Phrase(": " + viewModel.no, normal_font); //tableIdentity.AddCell(cellIdentityContentLeft); PdfPCell cellIdentity = new PdfPCell(tableIdentity); tableIdentity.ExtendLastRow = false; tableIdentity.SpacingAfter = 10f; tableIdentity.SpacingBefore = 3f; document.Add(tableIdentity); #endregion #region TableContent PdfPCell cellCenter = new PdfPCell() { Border = Rectangle.TOP_BORDER | Rectangle.LEFT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.RIGHT_BORDER, HorizontalAlignment = Element.ALIGN_CENTER, VerticalAlignment = Element.ALIGN_TOP, Padding = 5 }; PdfPCell cellRight = new PdfPCell() { Border = Rectangle.TOP_BORDER | Rectangle.LEFT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.RIGHT_BORDER, HorizontalAlignment = Element.ALIGN_RIGHT, VerticalAlignment = Element.ALIGN_TOP, Padding = 5 }; PdfPCell cellLeft = new PdfPCell() { Border = Rectangle.TOP_BORDER | Rectangle.LEFT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.RIGHT_BORDER, HorizontalAlignment = Element.ALIGN_LEFT, VerticalAlignment = Element.ALIGN_TOP, Padding = 5 }; PdfPCell cellRightMerge = new PdfPCell() { Border = Rectangle.NO_BORDER | Rectangle.NO_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.RIGHT_BORDER, HorizontalAlignment = Element.ALIGN_RIGHT, VerticalAlignment = Element.ALIGN_TOP, Padding = 5 }; PdfPCell cellLeftMerge = new PdfPCell() { Border = Rectangle.NO_BORDER | Rectangle.LEFT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_LEFT, VerticalAlignment = Element.ALIGN_TOP, Padding = 5 }; if (viewModel.correctionType == "Harga Satuan") { PdfPTable tableContent = new PdfPTable(8); tableContent.SetWidths(new float[] { 1f, 6f, 2f, 1.5f, 2f, 1.5f, 2f, 3f }); cellCenter.Phrase = new Phrase("No", small_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Nama Barang", small_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Jumlah", small_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Harga Satuan SPB", small_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Harga Baru", small_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Harga Koreksi", small_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Nilai Koreksi", small_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Nomor Order", small_bold_font); tableContent.AddCell(cellCenter); //for (int a = 0; a < 20; a++) // coba kalau banyak baris ^_^ for (int indexItem = 0; indexItem < viewModel.items.Count; indexItem++) { UnitPaymentCorrectionNoteItemViewModel item = viewModel.items[indexItem]; var upoDetail = viewModelSpb.items.SelectMany(upoItem => upoItem.unitReceiptNote.items).FirstOrDefault(upoItem => upoItem.Id == item.uPODetailId); if (upoDetail == null) { upoDetail = new UnitPaymentOrderDetailViewModel(); } cellCenter.Phrase = new Phrase((indexItem + 1).ToString(), normal_font); cellCenter.Colspan = 0; tableContent.AddCell(cellCenter); cellLeft.Phrase = new Phrase($"{item.product.code} - {item.product.name}", normal_font); tableContent.AddCell(cellLeft); cellRight.Phrase = new Phrase(string.Format("{0:n2}", item.quantity) + $" {item.uom.unit}", normal_font); tableContent.AddCell(cellRight); cellRight.Phrase = new Phrase($"{item.currency.code} {upoDetail.pricePerDealUnit.ToString("N03", _cultureInfo)}", normal_font); tableContent.AddCell(cellRight); double priceCorrectionUnit = item.pricePerDealUnitAfter; if (viewModel.correctionType == "Harga Satuan") { priceCorrectionUnit = item.pricePerDealUnitAfter - item.pricePerDealUnitBefore; } cellRight.Phrase = new Phrase($"{item.currency.code} {item.pricePerDealUnitAfter.ToString("N03", _cultureInfo)}", normal_font); tableContent.AddCell(cellRight); double priceCorrectionTotal = item.priceTotalAfter; //if (viewModel.correctionType == "Harga Total") //{ // priceCorrectionTotal = item.priceTotalAfter - item.priceTotalBefore; //} //else if (viewModel.correctionType == "Harga Satuan") //{ priceCorrectionTotal = priceCorrectionUnit * item.quantity; //} cellRight.Phrase = new Phrase($"{item.currency.code} {priceCorrectionUnit.ToString("N03", _cultureInfo)}", normal_font); tableContent.AddCell(cellRight); cellRight.Phrase = new Phrase($"{item.currency.code} {priceCorrectionTotal.ToString("N03", _cultureInfo)}", normal_font); tableContent.AddCell(cellRight); cellLeft.Phrase = new Phrase(item.pRNo, normal_font); tableContent.AddCell(cellLeft); currencyCodePPn = item.currency.code; currencyDesc = viewModelSpb.currency.description; currencyCodeTotal = item.currency.code; total += priceCorrectionTotal; } totalPPn = (0.1 * total); double pph = double.Parse(viewModelSpb.incomeTax.rate); totalPPh = (pph * total) / 100; totalDibayar = total - totalPPh; PdfPCell cellContent = new PdfPCell(tableContent); tableContent.ExtendLastRow = false; tableContent.SpacingAfter = 5f; document.Add(tableContent); } else { PdfPTable tableContent = new PdfPTable(7); tableContent.SetWidths(new float[] { 1f, 6f, 0.6f, 2f, 0.6f, 1.5f, 2f }); cellCenter.Phrase = new Phrase("No", small_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Nama Barang", small_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Total SPB", small_bold_font); cellCenter.Colspan = 2; tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Nilai Koreksi", small_bold_font); cellCenter.Colspan = 2; tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Nomor Order", small_bold_font); tableContent.AddCell(cellCenter); //for (int a = 0; a < 20; a++) // coba kalau banyak baris ^_^ for (int indexItem = 0; indexItem < viewModel.items.Count; indexItem++) { UnitPaymentCorrectionNoteItemViewModel item = viewModel.items[indexItem]; cellCenter.Phrase = new Phrase((indexItem + 1).ToString(), normal_font); cellCenter.Colspan = 0; tableContent.AddCell(cellCenter); cellLeft.Phrase = new Phrase($"{item.product.code} - {item.product.name}", normal_font); tableContent.AddCell(cellLeft); cellLeftMerge.Phrase = new Phrase($"{item.currency.code}", normal_font); tableContent.AddCell(cellLeftMerge); double priceCorrectionUnit = item.pricePerDealUnitAfter; //if (viewModel.correctionType == "Harga Satuan") //{ // priceCorrectionUnit = item.pricePerDealUnitAfter - item.pricePerDealUnitBefore; //} cellRightMerge.Phrase = new Phrase(string.Format("{0:n4}", item.priceTotalBefore), normal_font); tableContent.AddCell(cellRightMerge); cellLeftMerge.Phrase = new Phrase($"{item.currency.code}", normal_font); tableContent.AddCell(cellLeftMerge); double priceCorrectionTotal = item.priceTotalAfter; if (viewModel.correctionType == "Harga Total") { priceCorrectionTotal = item.priceTotalAfter - item.priceTotalBefore; } //else if (viewModel.correctionType == "Harga Satuan") //{ // priceCorrectionTotal = priceCorrectionUnit * item.quantity; //} cellRightMerge.Phrase = new Phrase($"{priceCorrectionTotal.ToString("N", CultureInfo.InvariantCulture)}", normal_font); tableContent.AddCell(cellRightMerge); cellLeft.Phrase = new Phrase(item.pRNo, normal_font); tableContent.AddCell(cellLeft); currencyCodePPn = item.currency.code; currencyDesc = viewModelSpb.currency.description; currencyCodeTotal = item.currency.code; total += priceCorrectionTotal; } totalPPn = (0.1 * total); double pph = double.Parse(viewModelSpb.incomeTax.rate); totalPPh = (pph * total) / 100; totalDibayar = total - totalPPh; PdfPCell cellContent = new PdfPCell(tableContent); tableContent.ExtendLastRow = false; tableContent.SpacingAfter = 5f; document.Add(tableContent); } #endregion #region TableTotal PdfPTable tableTotal = new PdfPTable(7); tableTotal.SetWidths(new float[] { 6f, 2f, 4f, 2f, 3f, 2f, 4f }); PdfPCell cellIdentityTotalContentLeft = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_LEFT }; PdfPCell cellIdentityTotalContentRight = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_RIGHT }; PdfPCell cellIdentityTotalContentCenter = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_CENTER }; cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase("Jumlah", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase($"{currencyCodePPn}", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentRight.Phrase = new Phrase(total.ToString("N", CultureInfo.InvariantCulture), normal_font); tableTotal.AddCell(cellIdentityTotalContentRight); if (viewModel.useIncomeTax == false) { totalPPh = 0; cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); } else { cellIdentityTotalContentLeft.Phrase = new Phrase($"PPh {viewModelSpb.incomeTax.name} {viewModelSpb.incomeTax.rate} %", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase($"{currencyCodePPn}", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentRight.Phrase = new Phrase(totalPPh.ToString("N", CultureInfo.InvariantCulture), normal_font); tableTotal.AddCell(cellIdentityTotalContentRight); } cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); if (viewModel.useVat == false) { totalPPn = 0; cellIdentityTotalContentLeft.Phrase = new Phrase("PPn 10%", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentRight.Phrase = new Phrase(" - "); tableTotal.AddCell(cellIdentityTotalContentRight); } else { cellIdentityTotalContentLeft.Phrase = new Phrase("PPn 10%", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase($"{currencyCodePPn}", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentRight.Phrase = new Phrase(totalPPn.ToString("N", CultureInfo.InvariantCulture), normal_font); tableTotal.AddCell(cellIdentityTotalContentRight); } if (viewModel.useIncomeTax == false) { cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); } else { cellIdentityTotalContentLeft.Phrase = new Phrase($"Jumlah dibayar Ke Supplier", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase($"{currencyCodePPn}", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentRight.Phrase = new Phrase((total + totalPPn - totalPPh).ToString("N", CultureInfo.InvariantCulture), normal_font); tableTotal.AddCell(cellIdentityTotalContentRight); } cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase("Total", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase($"{currencyCodeTotal}", normal_font); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentRight.Phrase = new Phrase((total + totalPPn).ToString("N", CultureInfo.InvariantCulture), normal_font); tableTotal.AddCell(cellIdentityTotalContentRight); cellIdentityTotalContentLeft.Phrase = new Phrase($"Terbilang : { NumberToTextIDN.terbilang(total + totalPPn - totalPPh)} {currencyDesc.ToLower()}", terbilang_bold_font); if (viewModel.useIncomeTax == false) { cellIdentityTotalContentLeft.Phrase = new Phrase($"Terbilang : { NumberToTextIDN.terbilang(total + totalPPn)} {currencyDesc.ToLower()}", terbilang_bold_font); } cellIdentityTotalContentLeft.Colspan = 3; tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); cellIdentityTotalContentLeft.Phrase = new Phrase(" "); tableTotal.AddCell(cellIdentityTotalContentLeft); //cellIdentityContentLeft.Phrase = new Phrase("No.", normal_font); //tableIdentity.AddCell(cellIdentityContentLeft); //cellIdentityContentLeft.Phrase = new Phrase(": " + viewModel.no, normal_font); //tableIdentity.AddCell(cellIdentityContentLeft); PdfPCell cellIdentityTotal = new PdfPCell(tableTotal); tableTotal.ExtendLastRow = false; //tableTotal.SpacingAfter = 1f; tableTotal.SpacingBefore = 2f; document.Add(tableTotal); #endregion #region TableKeterangan PdfPTable tableKeterangan = new PdfPTable(4); tableKeterangan.SetWidths(new float[] { 3f, 4f, 3f, 4f }); PdfPCell cellIdentityKeteranganContentLeft = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_LEFT }; PdfPCell cellIdentityKeteranganContentRight = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_RIGHT }; cellIdentityKeteranganContentLeft.Phrase = new Phrase("Perjanjian Pembayaran ", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase($" : {viewModel.dueDate.GetValueOrDefault().ToString("dd MMMM yyyy", new CultureInfo("id-ID"))}", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase("Barang Datang ", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); DateTimeOffset date = receiptDate != null ? (DateTimeOffset)receiptDate : new DateTime(); cellIdentityKeteranganContentLeft.Phrase = new Phrase($" : {(date.ToString("dd MMMM yyyy", new CultureInfo("id-ID")))} ", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase("Nota ", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase($" : {viewModel.uPONo}", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase("Nomor Nota Retur ", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase($" : {viewModel.returNoteNo}", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase("Keterangan ", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase($" : {viewModel.remark}", small_bold_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase(" ", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase(" ", small_bold_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); cellIdentityKeteranganContentLeft.Phrase = new Phrase("", normal_font); tableKeterangan.AddCell(cellIdentityKeteranganContentLeft); //cellIdentityContentLeft.Phrase = new Phrase("No.", normal_font); //tableIdentity.AddCell(cellIdentityContentLeft); //cellIdentityContentLeft.Phrase = new Phrase(": " + viewModel.no, normal_font); //tableIdentity.AddCell(cellIdentityContentLeft); PdfPCell cellIdentityKeterangan = new PdfPCell(tableKeterangan); tableKeterangan.ExtendLastRow = false; tableKeterangan.SpacingAfter = 12f; //tableKeterangan.SpacingBefore = 2f; document.Add(tableKeterangan); #endregion //Paragraph date = new Paragraph($"Sukoharjo, {viewModel.correctionDate.ToString("dd MMMM yyyy", new CultureInfo("id-ID"))}", normal_font) { Alignment = Element.ALIGN_RIGHT }; //document.Add(date); #region TableSignature PdfPTable tableSignature = new PdfPTable(4); PdfPCell cellSignatureContent = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_CENTER }; PdfPCell cellSignatureContentLeft = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_LEFT }; cellSignatureContent.Phrase = new Phrase("Diperiksa,\nVerifikasi\n\n\n\n\n( )", normal_font); tableSignature.AddCell(cellSignatureContent); cellSignatureContent.Phrase = new Phrase("Mengetahui,\nPimpinan Bagian\n\n\n\n\n( )", normal_font); tableSignature.AddCell(cellSignatureContent); cellSignatureContent.Phrase = new Phrase("Tanda Terima,\nBagian Pembelian\n\n\n\n\n( )", normal_font); tableSignature.AddCell(cellSignatureContent); cellSignatureContent.Phrase = new Phrase($"Dibuat Oleh,\n\n\n\n\n\n( {viewModel.CreatedBy} )", normal_font); tableSignature.AddCell(cellSignatureContent); cellSignatureContentLeft.Phrase = new Phrase($"\n\nDicetak Oleh {username}", normal_font); tableSignature.AddCell(cellSignatureContentLeft); cellSignatureContent.Phrase = new Phrase(" ", normal_font); tableSignature.AddCell(cellSignatureContent); cellSignatureContent.Phrase = new Phrase(" ", normal_font); tableSignature.AddCell(cellSignatureContent); cellSignatureContent.Phrase = new Phrase(" ", normal_font); tableSignature.AddCell(cellSignatureContent); PdfPCell cellSignature = new PdfPCell(tableSignature); // dont remove tableSignature.ExtendLastRow = false; //tableSignature.SpacingBefore = 20f; tableSignature.SpacingAfter = 20f; document.Add(tableSignature); #endregion document.Close(); byte[] byteInfo = stream.ToArray(); stream.Write(byteInfo, 0, byteInfo.Length); stream.Position = 0; } catch (Exception e) { throw new Exception(e.Message); } return(stream); }
public MemoryStream GeneratePdfNotaReturTemplate(UnitPaymentCorrectionNoteViewModel viewModel, UnitPaymentOrderViewModel viewModelSpb, int clientTimeZoneOffset = 7) { Font header_font = FontFactory.GetFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 14); Font normal_font = FontFactory.GetFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 11); Font smaller_font = FontFactory.GetFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 9); Font smallest_font = FontFactory.GetFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 8); Font bold_font = FontFactory.GetFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 10); Font smaller_bold_font = FontFactory.GetFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 9); Font smallest_bold_font = FontFactory.GetFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 8); double totalPPn = 0; double total = 0; string currencyCodePPn = ""; string currencyCodeTotal = ""; Document document = new Document(PageSize.A5, 20, 20, 17, 20); //document.SetPageSize(iTextSharp.text.PageSize.A4.Rotate()) MemoryStream stream = new MemoryStream(); try { PdfWriter writer = PdfWriter.GetInstance(document, stream); document.Open(); #region Header string titleString = "NOTA RETUR"; Paragraph title = new Paragraph(titleString, normal_font) { Alignment = Element.ALIGN_CENTER }; document.Add(title); Paragraph space = new Paragraph(" ", smaller_font) { Alignment = Element.ALIGN_CENTER }; document.Add(space); Paragraph nomor = new Paragraph($"Nomor : {viewModel.returNoteNo}", smaller_font) { Alignment = Element.ALIGN_CENTER }; document.Add(nomor); Paragraph pajakNomorString = new Paragraph($"Atas Faktur Pajak Nomor : {viewModel.vatTaxCorrectionNo} Tanggal : {viewModel.vatTaxCorrectionDate.GetValueOrDefault().ToString("dd MMMM yyyy", new CultureInfo("id-ID"))}", smaller_font) { Alignment = Element.ALIGN_CENTER }; document.Add(pajakNomorString); document.Add(space); LineSeparator lineSeparator = new LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1); document.Add(lineSeparator); document.Add(space); Paragraph pembeliBkp = new Paragraph("Pembeli PKB", smaller_bold_font) { Alignment = Element.ALIGN_LEFT }; document.Add(pembeliBkp); Paragraph companyName = new Paragraph("Nama : PT DAN LIRIS", smaller_font) { Alignment = Element.ALIGN_LEFT }; document.Add(companyName); Paragraph companyAddress = new Paragraph("Alamat : Banaran, Grogol, Sukoharjo", smaller_font) { Alignment = Element.ALIGN_LEFT }; document.Add(companyAddress); Paragraph companyNPWP = new Paragraph("N P W P : 01.139.907.8 - 532.000", smaller_font) { Alignment = Element.ALIGN_LEFT }; document.Add(companyNPWP); document.Add(space); Paragraph seller = new Paragraph("Kepada Penjual", smaller_bold_font) { Alignment = Element.ALIGN_LEFT }; document.Add(seller); Paragraph sellerName = new Paragraph($"Nama : {viewModel.supplier.name}", smaller_bold_font) { Alignment = Element.ALIGN_LEFT }; document.Add(sellerName); Paragraph sellerAddress = new Paragraph($"Alamat : {viewModelSpb.supplier.address}", smaller_bold_font) { Alignment = Element.ALIGN_LEFT }; document.Add(sellerAddress); Paragraph sellerNPWP = new Paragraph($"N P W P : {viewModel.supplier.npwp}", smaller_font) { Alignment = Element.ALIGN_LEFT }; document.Add(sellerNPWP); document.Add(space); #endregion #region TableContent PdfPCell cellCenter = new PdfPCell() { Border = Rectangle.TOP_BORDER | Rectangle.LEFT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.RIGHT_BORDER, HorizontalAlignment = Element.ALIGN_CENTER, VerticalAlignment = Element.ALIGN_MIDDLE, Padding = 5 }; PdfPCell cellRight = new PdfPCell() { Border = Rectangle.TOP_BORDER | Rectangle.LEFT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.RIGHT_BORDER, HorizontalAlignment = Element.ALIGN_RIGHT, VerticalAlignment = Element.ALIGN_MIDDLE, Padding = 5 }; PdfPCell cellLeft = new PdfPCell() { Border = Rectangle.TOP_BORDER | Rectangle.LEFT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.RIGHT_BORDER, HorizontalAlignment = Element.ALIGN_LEFT, VerticalAlignment = Element.ALIGN_MIDDLE, Padding = 5 }; PdfPCell cellRightBorderless = new PdfPCell() { Border = Rectangle.TOP_BORDER | Rectangle.NO_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.RIGHT_BORDER, HorizontalAlignment = Element.ALIGN_RIGHT, VerticalAlignment = Element.ALIGN_MIDDLE, Padding = 5 }; PdfPCell cellLeftBorderless = new PdfPCell() { Border = Rectangle.TOP_BORDER | Rectangle.LEFT_BORDER | Rectangle.BOTTOM_BORDER | Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_LEFT, VerticalAlignment = Element.ALIGN_MIDDLE, Padding = 5 }; PdfPTable tableContent = new PdfPTable(7); tableContent.SetWidths(new float[] { 2f, 6f, 4f, 2f, 3f, 2f, 3f }); cellCenter.Phrase = new Phrase("No.", smallest_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Macam dan Jenis BKP", smallest_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Kuantum", smallest_bold_font); tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Harga Satuan Menurut Faktur Pajak", smallest_bold_font); cellCenter.Colspan = 2; tableContent.AddCell(cellCenter); cellCenter.Phrase = new Phrase("Harga Jual BKP", smallest_bold_font); cellCenter.Colspan = 2; tableContent.AddCell(cellCenter); //for (int a = 0; a < 20; a++) // coba kalau banyak baris ^_^ for (int indexItem = 0; indexItem < viewModel.items.Count; indexItem++) { UnitPaymentCorrectionNoteItemViewModel item = viewModel.items[indexItem]; cellCenter.Phrase = new Phrase((indexItem + 1).ToString(), smallest_font); cellCenter.Colspan = 0; tableContent.AddCell(cellCenter); cellLeft.Phrase = new Phrase($"{item.product.name}", smallest_font); tableContent.AddCell(cellLeft); cellRight.Phrase = new Phrase($"{item.quantity} {item.uom.unit}", smallest_font); tableContent.AddCell(cellRight); cellLeftBorderless.Phrase = new Phrase($"{item.currency.code}", smallest_font); tableContent.AddCell(cellLeftBorderless); cellRightBorderless.Phrase = new Phrase($"{item.pricePerDealUnitAfter.ToString("N", CultureInfo.InvariantCulture)}", smallest_font); tableContent.AddCell(cellRightBorderless); cellLeftBorderless.Phrase = new Phrase($"{item.currency.code}", smallest_font); tableContent.AddCell(cellLeftBorderless); cellRightBorderless.Phrase = new Phrase($"{item.priceTotalAfter.ToString("N", CultureInfo.InvariantCulture)}", smallest_font); tableContent.AddCell(cellRightBorderless); currencyCodePPn = item.currency.code; currencyCodeTotal = item.currency.code; totalPPn += (0.1 * item.priceTotalAfter); total += item.priceTotalAfter; } cellLeft.Phrase = new Phrase("Jumlah Harga Jual BKP yang dikembalikan", smallest_font); cellLeft.Colspan = 5; tableContent.AddCell(cellLeft); cellLeftBorderless.Phrase = new Phrase($"{currencyCodeTotal}", smallest_font); cellLeftBorderless.Colspan = 0; tableContent.AddCell(cellLeftBorderless); cellRightBorderless.Phrase = new Phrase($"{total.ToString("N", CultureInfo.InvariantCulture)}", smallest_font); cellRightBorderless.Colspan = 0; tableContent.AddCell(cellRightBorderless); cellLeft.Phrase = new Phrase("PPN yang diminta kembali", smallest_font); cellLeft.Colspan = 5; tableContent.AddCell(cellLeft); cellLeftBorderless.Phrase = new Phrase($"{currencyCodeTotal}", smallest_font); cellLeftBorderless.Colspan = 0; tableContent.AddCell(cellLeftBorderless); cellRightBorderless.Phrase = new Phrase($"{totalPPn.ToString("N", CultureInfo.InvariantCulture)}", smallest_font); cellRightBorderless.Colspan = 0; tableContent.AddCell(cellRightBorderless); cellRight.Phrase = new Phrase($"\nSukoharjo, {viewModel.correctionDate.ToOffset(new TimeSpan(clientTimeZoneOffset, 0, 0)).ToString("dd MMMM yyyy", new CultureInfo("id-ID"))}\n\n\n\n\n\n_________________________\n\n", smallest_font); cellRight.Colspan = 7; //cellLeft.Rowspan = 8; tableContent.AddCell(cellRight); cellLeft.Phrase = new Phrase("Lembar ke-1 : untuk PKP Penjual\nLembar ke-2 : untuk Pembeli\nLembar ke-3 : untuk LPP tempat Pembeli terdaftar (dalam hal Pembeli bukan PKP)", smallest_font); cellLeft.Colspan = 7; //cellLeft.Rowspan = 3; tableContent.AddCell(cellLeft); cellLeft.Phrase = new Phrase(" "); cellLeft.Colspan = 7; //cellLeft.Rowspan = 2; tableContent.AddCell(cellLeft); PdfPCell cellContent = new PdfPCell(tableContent); tableContent.ExtendLastRow = false; tableContent.SpacingAfter = 20f; document.Add(tableContent); #endregion document.Close(); byte[] byteInfo = stream.ToArray(); stream.Write(byteInfo, 0, byteInfo.Length); stream.Position = 0; } catch (Exception e) { throw new Exception(e.Message); } return(stream); }
public UnitPaymentOrderViewModel GetNewData() { long nowTicks = DateTimeOffset.Now.Ticks; var data = new UnitPaymentOrderViewModel { Active = true, CreatedAgent = null, CreatedBy = null, CreatedUtc = new DateTime(), LastModifiedAgent = null, LastModifiedBy = null, LastModifiedUtc = new DateTime(), Id = 1, incomeTaxBy = null, IsCorrection = false, IsDeleted = false, isPaid = false, UId = null, no = "UPONo", division = new DivisionViewModel { code = "DivisionCode", name = "DivisionName", _id = "DivisionId" }, supplier = new SupplierViewModel { code = "SupplierCode", name = "SupplierName", _id = "SupplierId" }, date = new DateTimeOffset(), category = new CategoryViewModel { code = "CategoryCode", name = "CategoryName", _id = "CategoryId ", }, currency = new CurrencyViewModel { code = "CurrencyCode", rate = 5, _id = "CurrencyId" }, paymentMethod = "CASH", incomeTax = new IncomeTaxUPOViewModel { name = null, rate = "0", _id = null }, invoiceNo = "INV000111", invoiceDate = new DateTimeOffset(), pibNo = null, useIncomeTax = false, incomeTaxNo = null, incomeTaxDate = null, useVat = false, vatNo = null, vatDate = new DateTimeOffset(), position = 1, remark = null, dueDate = new DateTimeOffset(), items = new List <UnitPaymentOrderItemViewModel> { new UnitPaymentOrderItemViewModel { unitReceiptNote = new UnitReceiptNote { _id = 1, no = "URNNo", items = new List <UnitPaymentOrderDetailViewModel> { new UnitPaymentOrderDetailViewModel { EPONo = "EPONo", URNItemId = 1, EPODetailId = 1, PRId = 1, PRNo = "1", PRItemId = 1, product = new ProductViewModel { code = "code", name = "name", _id = "1" }, deliveredQuantity = 1, deliveredUom = new UomViewModel { unit = "unit", _id = "1" }, PricePerDealUnitCorrection = 1, PriceTotal = 1, QuantityCorrection = 0, ProductRemark = "Product Remark", Active = true, CreatedAgent = null, CreatedBy = null, CreatedUtc = new DateTime(), LastModifiedAgent = null, LastModifiedBy = null, LastModifiedUtc = new DateTime(), Id = 1, IsDeleted = false, POItemId = 1, pricePerDealUnit = 0, PriceTotalCorrection = 0, } }, deliveryOrder = new DeliveyOrder { no = null, _id = 1 }, }, Active = true, CreatedAgent = null, CreatedBy = null, CreatedUtc = new DateTime(), LastModifiedAgent = null, LastModifiedBy = null, LastModifiedUtc = new DateTime(), Id = 1, IsDeleted = false } } }; return(data); }