Example #1
0
        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);
        }
Example #2
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);
        }