public void validate_when_FabricGradeTests_moreThan_1()
        {
            var fabricGradeTests = new List <FabricGradeTestViewModel>()
            {
                new FabricGradeTestViewModel()
                {
                    InitLength   = 0,
                    AvalLength   = 2,
                    SampleLength = 2,
                    Width        = 0,
                    PcsNo        = "PcsNo",
                    PointLimit   = 1,
                    PointSystem  = 1,
                    Criteria     = new List <CriteriaViewModel>()
                    {
                        new CriteriaViewModel()
                        {
                            Code  = "Code",
                            Group = "Group",
                            Name  = "Name"
                        }
                    }
                }
            };
            FabricQualityControlViewModel viewModel = new FabricQualityControlViewModel()
            {
                FabricGradeTests = fabricGradeTests
            };
            var result = viewModel.Validate(null);

            Assert.True(0 < result.Count());
        }
        public void validate_default()
        {
            FabricQualityControlViewModel viewModel = new FabricQualityControlViewModel();
            var result = viewModel.Validate(null);

            Assert.True(0 < result.Count());
        }
        public void Should_Success_Instantiate()
        {
            var time             = DateTimeOffset.Now;
            var fabricGradeTests = new List <FabricGradeTestViewModel>()
            {
                new FabricGradeTestViewModel()
                {
                }
            };
            FabricQualityControlViewModel viewModel = new FabricQualityControlViewModel()
            {
                Active             = true,
                Buyer              = "Buyer",
                CartNo             = "CartNo",
                Code               = "Code",
                Color              = "Color",
                Construction       = "Construction",
                DateIm             = time,
                IsUsed             = true,
                Group              = "Group",
                KanbanCode         = "KanbanCode",
                KanbanId           = 1,
                MachineNoIm        = "MachineNoIm",
                OperatorIm         = "OperatorIm",
                OrderQuantity      = 1,
                PackingInstruction = "PackingInstruction",
                PointLimit         = 1,
                ProductionOrderNo  = "ProductionOrderNo",
                ShiftIm            = "ShiftIm",
                PointSystem        = 1,
                UId = "UId",
                ProductionOrderType = "ProductionOrderType",
                Uom = "Uom",
                FabricGradeTests = fabricGradeTests
            };

            Assert.True(viewModel.Active);
            Assert.Equal("Buyer", viewModel.Buyer);
            Assert.Equal("CartNo", viewModel.CartNo);
            Assert.Equal("Code", viewModel.Code);
            Assert.Equal("Color", viewModel.Color);
            Assert.Equal("Construction", viewModel.Construction);
            Assert.Equal(time, viewModel.DateIm);
            Assert.True(viewModel.IsUsed);
            Assert.Equal("Group", viewModel.Group);
            Assert.Equal(1, viewModel.KanbanId);
            Assert.Equal("MachineNoIm", viewModel.MachineNoIm);
            Assert.Equal("OperatorIm", viewModel.OperatorIm);
            Assert.Equal(1, viewModel.OrderQuantity);
            Assert.Equal("PackingInstruction", viewModel.PackingInstruction);
            Assert.Equal(1, viewModel.PointLimit);
            Assert.Equal("ProductionOrderNo", viewModel.ProductionOrderNo);
            Assert.Equal("ShiftIm", viewModel.ShiftIm);
            Assert.Equal(1, viewModel.PointSystem);
            Assert.Equal("UId", viewModel.UId);
            Assert.Equal("ProductionOrderType", viewModel.ProductionOrderType);
            Assert.Equal("Uom", viewModel.Uom);
            Assert.Equal(fabricGradeTests, viewModel.FabricGradeTests);
        }
        public void Should_Validator_Success()
        {
            var dataUtil  = new FabricQualityControlViewModel();
            var validator = new FabricQualityControlValidator();
            var result    = validator.Validate(dataUtil);

            Assert.NotEqual(0, result.Errors.Count);
        }
        public void validate_when_PointSystem_Equal_4()
        {
            FabricQualityControlViewModel viewModel = new FabricQualityControlViewModel()
            {
                PointSystem = 4
            };
            var result = viewModel.Validate(null);

            Assert.True(0 < result.Count());
        }
Esempio n. 6
0
        public void Mapping_With_AutoMapper_Profiles()
        {
            var configuration = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile <FabricQualityControlProfile>();
            });
            var mapper = configuration.CreateMapper();

            FabricQualityControlViewModel vm = new FabricQualityControlViewModel {
                Id = 1
            };
            FabricQualityControlModel model = mapper.Map <FabricQualityControlModel>(vm);

            Assert.Equal(vm.Id, model.Id);
        }
        public void validate_when_SampleLength_and_avalength_moreThan_InitLength()
        {
            var fabricGradeTests = new List <FabricGradeTestViewModel>()
            {
                new FabricGradeTestViewModel()
                {
                    InitLength   = 2,
                    AvalLength   = 2,
                    SampleLength = 1,
                    Width        = 0,
                }
            };
            FabricQualityControlViewModel viewModel = new FabricQualityControlViewModel()
            {
                FabricGradeTests = fabricGradeTests
            };
            var result = viewModel.Validate(null);

            Assert.True(0 < result.Count());
        }
        public async Task Should_NotValid_Put()
        {
            var dataUtil = new FabricQualityControlViewModel();
            //v
            var serviceMock = new Mock <IFabricQualityControlService>();

            serviceMock.Setup(s => s.Update(It.IsAny <int>(), It.IsAny <FabricQualityControlViewModel>())).ReturnsAsync(1);
            var service = serviceMock.Object;

            var identityProviderMock = new Mock <IIdentityProvider>();
            var identityProvider     = identityProviderMock.Object;

            var controller = GetController(service, identityProvider);

            controller.ModelState.AddModelError("test", "test");
            //controller.ModelState.IsValid == false;
            var response = await controller.Put(dataUtil.Id, dataUtil);

            Assert.Equal((int)HttpStatusCode.BadRequest, GetStatusCode(response));
        }
        public async Task <IActionResult> Post([FromBody] FabricQualityControlViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                var excpetion = new
                {
                    error = ResultFormatter.FormatErrorMessage(ModelState)
                };
                return(new BadRequestObjectResult(excpetion));
            }
            try
            {
                VerifyUser();
                var result = await _service.Create(viewModel);

                return(Created("/", result));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
        public async Task <IActionResult> Put([FromRoute] int id, [FromBody] FabricQualityControlViewModel viewModel)
        {
            VerifyUser();
            if (!ModelState.IsValid)
            {
                var exception = new
                {
                    error = ResultFormatter.FormatErrorMessage(ModelState)
                };
                return(new BadRequestObjectResult(exception));
            }

            try
            {
                await _service.Update(id, viewModel);

                return(NoContent());
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Esempio n. 11
0
        public MemoryStream GeneratePdfTemplate(FabricQualityControlViewModel viewModel, int timeoffset)
        {
            const int MARGIN = 20;

            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, 8);
            Font body_font              = FontFactory.GetFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 8);
            Font normal_font_underlined = FontFactory.GetFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 8, Font.UNDERLINE);
            Font bold_font              = FontFactory.GetFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 8);
            Font body_bold_font         = FontFactory.GetFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, BaseFont.NOT_EMBEDDED, 8);

            Document     document = new Document(PageSize.A4, MARGIN, MARGIN, MARGIN, MARGIN);
            MemoryStream stream   = new MemoryStream();
            PdfWriter    writer   = PdfWriter.GetInstance(document, stream);

            document.Open();

            #region Header
            PdfPTable headerTable   = new PdfPTable(2);
            PdfPCell  cellHeaderCS2 = new PdfPCell()
            {
                Border = Rectangle.NO_BORDER, Colspan = 2, PaddingTop = 1, PaddingBottom = 1
            };
            PdfPCell cellHeader = new PdfPCell()
            {
                Border = Rectangle.NO_BORDER, PaddingTop = 1, PaddingBottom = 1
            };
            float[] widths = new float[] { 1f, 4f };
            headerTable.SetWidths(widths);
            headerTable.WidthPercentage = 100;

            cellHeaderCS2.Phrase = new Phrase("FM-FP-00-PC-19-020", body_bold_font);
            cellHeaderCS2.HorizontalAlignment = Element.ALIGN_RIGHT;
            headerTable.AddCell(cellHeaderCS2);

            cellHeaderCS2.Phrase = new Phrase("Pemeriksaan Kain", header_font);
            cellHeaderCS2.HorizontalAlignment = Element.ALIGN_CENTER;
            headerTable.AddCell(cellHeaderCS2);

            //cellHeaderCS4.Phrase = new Phrase("KARTU PENGANTAR PROSES PRODUKSI", normal_font_underlined);
            //cellHeaderCS4.HorizontalAlignment = Element.ALIGN_CENTER;
            //headerTable.AddCell(cellHeaderCS4);

            //cellHeaderCS4.Phrase = new Phrase($"Delivery: {DateTime.Now.ToString("dd MMMM yyyy", new System.Globalization.CultureInfo("id-ID"))}", body_font);
            ////cellHeader.Phrase = new Phrase($"Delivery: {viewModel.ProductionOrder.DeliveryDate.Value.ToString("dd MMMM yyyy", new System.Globalization.CultureInfo("id-ID"))}", normal_font);
            //cellHeaderCS4.HorizontalAlignment = Element.ALIGN_RIGHT;
            //headerTable.AddCell(cellHeaderCS4);

            //cellHeaderCS4.Phrase = new Phrase("--------------------------------", bold_font);
            //cellHeaderCS4.HorizontalAlignment = Element.ALIGN_RIGHT;
            //headerTable.AddCell(cellHeaderCS4);

            cellHeaderCS2.Phrase = new Phrase("", bold_font);
            cellHeaderCS2.HorizontalAlignment = Element.ALIGN_CENTER;
            headerTable.AddCell(cellHeaderCS2);

            cellHeader.Phrase = new Phrase("Nomor Pemeriksaan Kain", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.Code}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Tanggal IM", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.DateIm.Value.ToString("dd MMMM yyyy", new System.Globalization.CultureInfo("id-ID"))}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Shift", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.ShiftIm}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Operator IM", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.OperatorIm}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Nomor Mesin IM", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.MachineNoIm}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Nomor Kereta", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.CartNo}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Nomor Order", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.ProductionOrderNo}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Jenis Order", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.ProductionOrderType}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Konstruksi", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.Construction}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Buyer", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.Buyer}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Warna", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.Color}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Jumlah Order", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.OrderQuantity}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase("Packing Instruction", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            cellHeader.Phrase = new Phrase($": {viewModel.PackingInstruction}", body_font);
            cellHeader.HorizontalAlignment = Element.ALIGN_LEFT;
            headerTable.AddCell(cellHeader);

            document.Add(headerTable);
            #endregion Header

            document.Add(new Paragraph("\n"));

            #region Body Table

            PdfPTable bodyTable       = new PdfPTable(7);
            float[]   bodyTableWidths = new float[] { 1f, 1f, 1f, 1f, 1f, 1f, 1f };
            bodyTable.SetWidths(bodyTableWidths);
            bodyTable.WidthPercentage = 100;

            #region Set Body Table Header
            PdfPCell bodyTableHeader = new PdfPCell()
            {
                FixedHeight = 20
            };
            //PdfPCell table1RightCellHeader = new PdfPCell() { FixedHeight = 20, Colspan = 4 };

            bodyTableHeader.Phrase = new Phrase("No Pcs", body_bold_font);
            bodyTableHeader.HorizontalAlignment = Element.ALIGN_CENTER;
            bodyTableHeader.VerticalAlignment   = Element.ALIGN_CENTER;
            bodyTable.AddCell(bodyTableHeader);

            bodyTableHeader.Phrase = new Phrase("Panjang Pcs", body_bold_font);
            bodyTableHeader.HorizontalAlignment = Element.ALIGN_CENTER;
            bodyTableHeader.VerticalAlignment   = Element.ALIGN_CENTER;
            bodyTable.AddCell(bodyTableHeader);

            bodyTableHeader.Phrase = new Phrase("Lebar Pcs", body_bold_font);
            bodyTableHeader.HorizontalAlignment = Element.ALIGN_CENTER;
            bodyTableHeader.VerticalAlignment   = Element.ALIGN_CENTER;
            bodyTable.AddCell(bodyTableHeader);

            bodyTableHeader.Phrase = new Phrase("Aval", body_bold_font);
            bodyTableHeader.HorizontalAlignment = Element.ALIGN_CENTER;
            bodyTableHeader.VerticalAlignment   = Element.ALIGN_CENTER;
            bodyTable.AddCell(bodyTableHeader);

            bodyTableHeader.Phrase = new Phrase("Sampel", body_bold_font);
            bodyTableHeader.HorizontalAlignment = Element.ALIGN_CENTER;
            bodyTableHeader.VerticalAlignment   = Element.ALIGN_CENTER;
            bodyTable.AddCell(bodyTableHeader);

            bodyTableHeader.Phrase = new Phrase("Nilai", body_bold_font);
            bodyTableHeader.HorizontalAlignment = Element.ALIGN_CENTER;
            bodyTableHeader.VerticalAlignment   = Element.ALIGN_CENTER;
            bodyTable.AddCell(bodyTableHeader);

            bodyTableHeader.Phrase = new Phrase("Grade", body_bold_font);
            bodyTableHeader.HorizontalAlignment = Element.ALIGN_CENTER;
            bodyTableHeader.VerticalAlignment   = Element.ALIGN_CENTER;
            bodyTable.AddCell(bodyTableHeader);
            #endregion

            #region Set Body Table Value
            PdfPCell bodyTableCell = new PdfPCell()
            {
                FixedHeight = 15
            };

            foreach (var fabricGradeTest in viewModel.FabricGradeTests)
            {
                bodyTableCell.Phrase = new Phrase($"{fabricGradeTest.PcsNo}", body_font);
                bodyTableCell.HorizontalAlignment = Element.ALIGN_CENTER;
                bodyTableCell.VerticalAlignment   = Element.ALIGN_CENTER;
                bodyTable.AddCell(bodyTableCell);

                bodyTableCell.Phrase = new Phrase($"{fabricGradeTest.InitLength}", body_font);
                bodyTableCell.HorizontalAlignment = Element.ALIGN_CENTER;
                bodyTableCell.VerticalAlignment   = Element.ALIGN_CENTER;
                bodyTable.AddCell(bodyTableCell);

                bodyTableCell.Phrase = new Phrase($"{fabricGradeTest.Width}", body_font);
                bodyTableCell.HorizontalAlignment = Element.ALIGN_CENTER;
                bodyTableCell.VerticalAlignment   = Element.ALIGN_CENTER;
                bodyTable.AddCell(bodyTableCell);

                bodyTableCell.Phrase = new Phrase($"{fabricGradeTest.AvalLength}", body_font);
                bodyTableCell.HorizontalAlignment = Element.ALIGN_CENTER;
                bodyTableCell.VerticalAlignment   = Element.ALIGN_CENTER;
                bodyTable.AddCell(bodyTableCell);

                bodyTableCell.Phrase = new Phrase($"{fabricGradeTest.SampleLength}", body_font);
                bodyTableCell.HorizontalAlignment = Element.ALIGN_CENTER;
                bodyTableCell.VerticalAlignment   = Element.ALIGN_CENTER;
                bodyTable.AddCell(bodyTableCell);

                bodyTableCell.Phrase = new Phrase($"{fabricGradeTest.Score}", body_font);
                bodyTableCell.HorizontalAlignment = Element.ALIGN_CENTER;
                bodyTableCell.VerticalAlignment   = Element.ALIGN_CENTER;
                bodyTable.AddCell(bodyTableCell);

                bodyTableCell.Phrase = new Phrase($"{fabricGradeTest.Grade}", body_font);
                bodyTableCell.HorizontalAlignment = Element.ALIGN_CENTER;
                bodyTableCell.VerticalAlignment   = Element.ALIGN_CENTER;
                bodyTable.AddCell(bodyTableCell);
            }

            //try
            //{
            //    document.Add(bodyTable1);
            //}
            //catch(Exception e)
            //{
            //    throw new Exception(e.Message);
            //}

            #endregion

            document.Add(bodyTable);
            #endregion

            document.Add(new Paragraph("\n"));

            #region Footer Table


            PdfPTable footerTable       = new PdfPTable(3);
            float[]   footerTableWidths = new float[] { 30f, 30f, 30f };
            footerTable.SetWidths(footerTableWidths);
            footerTable.WidthPercentage = 100;

            PdfPCell thinCell = new PdfPCell()
            {
                FixedHeight = 20
            };
            PdfPCell thickCell = new PdfPCell()
            {
                FixedHeight = 60
            };

            thinCell.Phrase = new Phrase("Dibuat Oleh", body_bold_font);
            thinCell.HorizontalAlignment = Element.ALIGN_CENTER;
            thinCell.VerticalAlignment   = Element.ALIGN_CENTER;
            footerTable.AddCell(thinCell);

            thinCell.Phrase = new Phrase("Mengetahui", body_bold_font);
            thinCell.HorizontalAlignment = Element.ALIGN_CENTER;
            thinCell.VerticalAlignment   = Element.ALIGN_CENTER;
            footerTable.AddCell(thinCell);

            thinCell.Phrase = new Phrase("Menyetujui", body_bold_font);
            thinCell.HorizontalAlignment = Element.ALIGN_CENTER;
            thinCell.VerticalAlignment   = Element.ALIGN_CENTER;
            footerTable.AddCell(thinCell);

            for (int i = 0; i < 3; i++)
            {
                thickCell.Phrase = new Phrase("", body_bold_font);
                thickCell.HorizontalAlignment = Element.ALIGN_CENTER;
                thickCell.VerticalAlignment   = Element.ALIGN_CENTER;
                footerTable.AddCell(thickCell);
            }

            thinCell.Phrase = new Phrase("ADMIN QC", body_bold_font);
            thinCell.HorizontalAlignment = Element.ALIGN_CENTER;
            thinCell.VerticalAlignment   = Element.ALIGN_CENTER;
            footerTable.AddCell(thinCell);

            thinCell.Phrase = new Phrase("KABAG QC", body_bold_font);
            thinCell.HorizontalAlignment = Element.ALIGN_CENTER;
            thinCell.VerticalAlignment   = Element.ALIGN_CENTER;
            footerTable.AddCell(thinCell);

            thinCell.Phrase = new Phrase("KASUBSIE QC", body_bold_font);
            thinCell.HorizontalAlignment = Element.ALIGN_CENTER;
            thinCell.VerticalAlignment   = Element.ALIGN_CENTER;
            footerTable.AddCell(thinCell);

            document.Add(footerTable);
            #endregion

            document.Close();
            byte[] byteInfo = stream.ToArray();
            stream.Write(byteInfo, 0, byteInfo.Length);
            stream.Position = 0;

            return(stream);
        }