public async Task Should_Success_ValidateNullDetailVMAsync() { var serviceProvider = GetServiceProvider(); NewFpRegradingResultDocsService serviceMrn = new NewFpRegradingResultDocsService(serviceProvider.Object, _dbContext(GetCurrentMethod())); InventorySummaryService inventorySummaryService = new InventorySummaryService(serviceProvider.Object, _dbContext(GetCurrentMethod())); serviceProvider.Setup(s => s.GetService(typeof(IInventorySummaryService))) .Returns(inventorySummaryService); InventoryMovementService inventoryMovementService = new InventoryMovementService(serviceProvider.Object, _dbContext(GetCurrentMethod())); serviceProvider.Setup(s => s.GetService(typeof(IInventoryMovementService))) .Returns(inventoryMovementService); InventoryDocumentService inventoryDocumentFacade = new InventoryDocumentService(serviceProvider.Object, _dbContext(GetCurrentMethod())); serviceProvider.Setup(s => s.GetService(typeof(IInventoryDocumentService))) .Returns(inventoryDocumentFacade); var mrn = await _dataUtilMrn(serviceMrn).GetTestData(); serviceProvider.Setup(x => x.GetService(typeof(IFpRegradingResultDocsService))) .Returns(serviceMrn); NewFPReturnInvToPurchasingService service = new NewFPReturnInvToPurchasingService(serviceProvider.Object, _dbContext(GetCurrentMethod())); var vm = new FPReturnInvToPurchasingViewModel() { FPReturnInvToPurchasingDetails = new List <FPReturnInvToPurchasingDetailViewModel>() { new FPReturnInvToPurchasingDetailViewModel() } }; ValidationContext validationContext = new ValidationContext(vm, serviceProvider.Object, null); var response = vm.Validate(validationContext); Assert.True(response.Count() > 0); }
public async Task <ActionResult> Post([FromBody] FPReturnInvToPurchasingViewModel viewModel) { this.identityService.Token = Request.Headers["Authorization"].First().Replace("Bearer ", ""); this.identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value; ValidateService validateService = (ValidateService)fpReturnInvToPurchasingFacade.serviceProvider.GetService(typeof(ValidateService)); return(await new BasePost <FPReturnInvToPurchasing, FPReturnInvToPurchasingViewModel, FPReturnInvToPurchasingFacade>(fpReturnInvToPurchasingFacade, ApiVersion, validateService, Request.Path) .Post(viewModel)); }
public FPReturnInvToPurchasingViewModel MapToViewModel(FPReturnInvToPurchasing model) { FPReturnInvToPurchasingViewModel viewModel = new FPReturnInvToPurchasingViewModel(); PropertyCopier <FPReturnInvToPurchasing, FPReturnInvToPurchasingViewModel> .Copy(model, viewModel); #region Unit viewModel.Unit = new UnitViewModel(); viewModel.Unit.Name = model.UnitName; #endregion Unit #region Supplier viewModel.Supplier = new SupplierViewModel(); viewModel.Supplier._id = model.SupplierId; viewModel.Supplier.code = model.SupplierCode; viewModel.Supplier.name = model.SupplierName; #endregion Supplier viewModel.FPReturnInvToPurchasingDetails = new List <FPReturnInvToPurchasingDetailViewModel>(); foreach (FPReturnInvToPurchasingDetail detail in model.FPReturnInvToPurchasingDetails) { FPReturnInvToPurchasingDetailViewModel detailVM = new FPReturnInvToPurchasingDetailViewModel(); PropertyCopier <FPReturnInvToPurchasingDetail, FPReturnInvToPurchasingDetailViewModel> .Copy(detail, detailVM); #region Product detailVM.Product = new ProductViewModel(); detailVM.Product.Id = detail.ProductId; detailVM.Product.Code = detail.ProductCode; detailVM.Product.Name = detail.ProductName; #endregion Product viewModel.FPReturnInvToPurchasingDetails.Add(detailVM); } return(viewModel); }
public FPReturnInvToPurchasing MapToModel(FPReturnInvToPurchasingViewModel viewModel) { FPReturnInvToPurchasing model = new FPReturnInvToPurchasing(); PropertyCopier <FPReturnInvToPurchasingViewModel, FPReturnInvToPurchasing> .Copy(viewModel, model); #region Unit model.UnitName = viewModel.Unit.Name; #endregion Unit #region Supplier model.SupplierId = viewModel.Supplier._id; model.SupplierCode = viewModel.Supplier.code; model.SupplierName = viewModel.Supplier.name; #endregion Supplier model.FPReturnInvToPurchasingDetails = new List <FPReturnInvToPurchasingDetail>(); foreach (FPReturnInvToPurchasingDetailViewModel detailVM in viewModel.FPReturnInvToPurchasingDetails) { FPReturnInvToPurchasingDetail detail = new FPReturnInvToPurchasingDetail(); PropertyCopier <FPReturnInvToPurchasingDetailViewModel, FPReturnInvToPurchasingDetail> .Copy(detailVM, detail); #region Product detail.ProductId = detailVM.Product.Id; detail.ProductCode = detailVM.Product.Code; detail.ProductName = detailVM.Product.Name; #endregion Product model.FPReturnInvToPurchasingDetails.Add(detail); } return(model); }
public MemoryStream GeneratePdfTemplate(FPReturnInvToPurchasingViewModel viewModel, int offset) { //Declaring fonts. BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED); BaseFont bf_bold = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED); var normal_font = FontFactory.GetFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 9); var bold_font = FontFactory.GetFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 9); //Creating page. Document document = new Document(PageSize.A5.Rotate()); MemoryStream stream = new MemoryStream(); PdfWriter writer = PdfWriter.GetInstance(document, stream); writer.CloseStream = false; document.Open(); PdfContentByte cb = writer.DirectContent; //Set Header #region SetHeader cb.BeginText(); cb.SetTextMatrix(15, 23); cb.SetFontAndSize(bf, 10); cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "PT DAN LIRIS", 20, 385, 0); cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "Sukoharjo", 20, 370, 0); cb.SetFontAndSize(bf_bold, 14); cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "BON RETUR BARANG", 297, 360, 0); cb.SetFontAndSize(bf_bold, 9); cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "FM.FP-GB-15-005 / R2", 480, 385, 0); cb.SetFontAndSize(bf, 9); cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "KEPADA YTH. BAGIAN PEMBELIAN", 20, 335, 0); cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "Telah Diretur Ke : " + viewModel.Supplier.name, 20, 320, 0); cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "No : " + viewModel.No, 480, 335, 0); cb.EndText(); #endregion #region CreateTable PdfPTable table = new PdfPTable(5); table.TotalWidth = 553f; float[] widths = new float[] { 3f, 10f, 5f, 5f, 10f }; table.SetWidths(widths); var cell = 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 }; var rightCell = 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 }; var leftCell = 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 }; cell.Phrase = new Phrase("No", bold_font); table.AddCell(cell); cell.Phrase = new Phrase("Nama Barang", bold_font); table.AddCell(cell); cell.Phrase = new Phrase("Piece", bold_font); table.AddCell(cell); cell.Phrase = new Phrase("Panjang Total", bold_font); table.AddCell(cell); cell.Phrase = new Phrase("Keterangan", bold_font); table.AddCell(cell); //Add all items. int index = 1; foreach (var item in viewModel.FPReturnInvToPurchasingDetails) { cell.Phrase = new Phrase(index.ToString(), normal_font); table.AddCell(cell); leftCell.Phrase = new Phrase(item.Product.name, normal_font); table.AddCell(leftCell); rightCell.Phrase = new Phrase(string.Format("{0:n}", item.Quantity), normal_font); table.AddCell(rightCell); rightCell.Phrase = new Phrase(string.Format("{0:n}", item.Length), normal_font); table.AddCell(rightCell); leftCell.Phrase = new Phrase(item.Description, normal_font); table.AddCell(leftCell); index++; } //Save tables. table.WriteSelectedRows(0, -1, 20, 310, cb); #endregion cb.SetFontAndSize(bf, 10); cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "Sukoharjo : " + DateTime.UtcNow.AddHours(offset).ToString("dd-MM-yyyy"), 460, 260, 0); //Set footer #region Footer cb.BeginText(); cb.SetTextMatrix(15, 23); //LEFT cb.SetFontAndSize(bf, 9); cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "Yang Menyerahkan,", 180, 120, 0); cb.SetFontAndSize(bf, 9); cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "(..........................)", 180, 50, 0); cb.SetFontAndSize(bf, 9); cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "Bag. Gudang Material", 180, 35, 0); //RIGHT cb.SetFontAndSize(bf, 9); cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "Yang Menerima,", 420, 120, 0); cb.SetFontAndSize(bf, 9); cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "(..........................)", 420, 50, 0); cb.SetFontAndSize(bf, 9); cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "Bag. Pembelian", 420, 35, 0); cb.EndText(); #endregion document.Close(); byte[] byteInfo = stream.ToArray(); stream.Write(byteInfo, 0, byteInfo.Length); stream.Position = 0; return(stream); }