public async Task Should_NotValid_Post() { var dataUtil = new MaterialDeliveryNoteWeavingViewModel(); //v var serviceMock = new Mock <IMaterialDeliveryNoteWeavingService>(); serviceMock.Setup(s => s.Create(It.IsAny <MaterialDeliveryNoteWeavingViewModel>())); var service = serviceMock.Object; var identityProviderMock = new Mock <IIdentityProvider>(); var identityProvider = identityProviderMock.Object; var validateServiceMock = new Mock <IValidateService>(); validateServiceMock.Setup(s => s.Validate(It.IsAny <MaterialDeliveryNoteWeavingViewModel>())) .Verifiable(); var validateService = validateServiceMock.Object; var controller = GetController(service, identityProvider, validateService); controller.ModelState.AddModelError("test", "test"); //controller.ModelState.IsValid == false; var response = await controller.Post(dataUtil); Assert.Equal((int)HttpStatusCode.BadRequest, GetStatusCode(response)); }
public async Task <IActionResult> Put([FromRoute] int id, [FromBody] MaterialDeliveryNoteWeavingViewModel viewModel) { if (!ModelState.IsValid) { var result = new { error = ResultFormatter.FormatErrorMessage(ModelState) }; return(new BadRequestObjectResult(result)); } try { VerifyUser(); ValidateService.Validate(viewModel); await _service.Update(id, viewModel); return(NoContent()); } catch (ServiceValidationException ex) { var Result = new { error = ResultFormatter.Fail(ex), apiVersion = "1.0.0", statusCode = HttpStatusCode.BadRequest, message = "Data does not pass validation" }; return(new BadRequestObjectResult(Result)); } catch (Exception ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public void Validate_DefaultValue() { MaterialDeliveryNoteWeavingViewModel viewModel = new MaterialDeliveryNoteWeavingViewModel(); var result = viewModel.Validate(null); Assert.True(result.Count() > 0); }
public async Task Update(int id, MaterialDeliveryNoteWeavingViewModel viewModel) { var model = new Data.MaterialDeliveryNoteWeavingModel(viewModel.Code, viewModel.DateSJ.GetValueOrDefault(), viewModel.selectedDO.Id.GetValueOrDefault(), viewModel.selectedDO.DOSalesNo, viewModel.SendTo, viewModel.Unit.Id.GetValueOrDefault(), viewModel.Unit.Name, viewModel.Buyer.Id.GetValueOrDefault(), viewModel.Buyer.Code, viewModel.Buyer.Name, viewModel.NumberBonOut, viewModel.Storage.Id, viewModel.Storage.Code, viewModel.Storage.Name, viewModel.Remark, viewModel.ItemsMaterialDeliveryNoteWeaving.Select(s => new ItemsMaterialDeliveryNoteWeavingModel(s.itemNoSOP, s.itemMaterialName, s.itemGrade, s.itemType, s.itemCode, s.inputBale.GetValueOrDefault(), s.inputPiece.GetValueOrDefault(), s.inputMeter.GetValueOrDefault(), s.inputKg.GetValueOrDefault())).ToList()); await _MaterialDeliveryNoteWeavingRepository.UpdateAsync(id, model); }
private PdfPTable GetSignatureSection(MaterialDeliveryNoteWeavingViewModel model, int timeoffset) { PdfPTable table = new PdfPTable(3) { WidthPercentage = 100 }; float[] widths = new float[] { 1f, 1f, 1f }; table.SetWidths(widths); PdfPCell cell = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_CENTER, VerticalAlignment = Element.ALIGN_MIDDLE, }; //cell.Phrase = new Phrase("Mengetahui", TEXT_FONT); //table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase($"Sukoharjo, {model.DateSJ?.AddHours(timeoffset).ToString("dd MMMM yyyy")}", TEXT_FONT); table.AddCell(cell); //cell.Phrase = new Phrase("Kasubsie Gudang Dyeing Printing", TEXT_FONT); //table.AddCell(cell); cell.Phrase = new Phrase("Audit", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("Ekspedisi", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("Gudang Dyeing Printing", TEXT_FONT); table.AddCell(cell); for (var i = 0; i < 11; i++) { cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); } cell.Phrase = new Phrase("( )", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("( )", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase($"({model.CreatedBy})", TEXT_FONT); table.AddCell(cell); return(table); }
public async Task <MaterialDeliveryNoteWeavingViewModel> ReadById(int id) { var model = await _MaterialDeliveryNoteWeavingRepository.ReadByIdAsync(id); if (model == null) { return(null); } MaterialDeliveryNoteWeavingViewModel vm = MapToViewModel(model); return(vm); }
public MaterialDeliveryNoteWeavingPdfTemplate(MaterialDeliveryNoteWeavingViewModel model, int timeoffset) { Title = GetTitle(); AddressTitle = GetAddressTitle(); DocumentTitle = GetDocumentTitle(); DocumentISO = GetISO(); DocumentInfo = GetBuyerInfo(model, timeoffset); GroupDetailInfo = GetGroupDetailInfo(model); DetailInfo = GetDetailInfo(model); NettoSection = GetNettoSection(); SignatureSection = GetSignatureSection(model, timeoffset); }
public void Validate_When_ItemsMaterialDeliveryNoteWeaving_moreThan1() { MaterialDeliveryNoteWeavingViewModel viewModel = new MaterialDeliveryNoteWeavingViewModel(); viewModel.ItemsMaterialDeliveryNoteWeaving = new List <ItemsMaterialDeliveryNoteWeavingViewModel>() { new ItemsMaterialDeliveryNoteWeavingViewModel() }; var result = viewModel.Validate(null); Assert.True(result.Count() > 0); }
private MaterialDeliveryNoteWeavingViewModel MapToViewModel(Data.MaterialDeliveryNoteWeavingModel model) { var vm = new MaterialDeliveryNoteWeavingViewModel() { Id = model.Id, Code = model.Code, DateSJ = model.DateSJ, selectedDO = new DeliveryOrderMaterialDeliveryNoteWeaving() { Id = model.DoSalesNumberId, DOSalesNo = model.DoSalesNumber }, SendTo = model.SendTo, Unit = new UnitMaterialDeliveryNoteWeaving() { Id = model.UnitId, Name = model.UnitName }, Buyer = new BuyerMaterialDeliveryNoteWeaving() { Id = model.BuyerId, Code = model.BuyerCode, Name = model.BuyerName }, NumberBonOut = model.NumberOut, Storage = new StorageMaterialDeliveryNoteWeaving() { Id = model.StorageId, Code = model.StorageCode, Name = model.StorageName }, Remark = model.Remark, ItemsMaterialDeliveryNoteWeaving = model.ItemsMaterialDeliveryNoteWeaving.Select(d => new ItemsMaterialDeliveryNoteWeavingViewModel() { itemNoSOP = d.ItemNoSOP, itemMaterialName = d.ItemMaterialName, itemGrade = d.ItemGrade, itemType = d.ItemType, itemCode = d.ItemCode, inputBale = d.InputBale, inputPiece = d.InputPiece, inputMeter = d.InputMeter, inputKg = d.InputKg }).ToList() }; return(vm); }
public async Task Create(MaterialDeliveryNoteWeavingViewModel viewModel) { var model = new Data.MaterialDeliveryNoteWeavingModel(null, viewModel.DateSJ.GetValueOrDefault(), viewModel.selectedDO.Id.GetValueOrDefault(), viewModel.selectedDO.DOSalesNo, viewModel.SendTo, viewModel.Unit.Id.GetValueOrDefault(), viewModel.Unit.Name, viewModel.Buyer.Id.GetValueOrDefault(), viewModel.Buyer.Code, viewModel.Buyer.Name, viewModel.NumberBonOut, viewModel.Storage.Id, viewModel.Storage.Code, viewModel.Storage.Name, viewModel.Remark, viewModel.ItemsMaterialDeliveryNoteWeaving.Select(s => new ItemsMaterialDeliveryNoteWeavingModel(s.itemNoSOP, s.itemMaterialName, s.itemGrade, s.itemType, s.itemCode, s.inputBale.GetValueOrDefault(), s.inputPiece.GetValueOrDefault(), s.inputMeter.GetValueOrDefault(), s.inputKg.GetValueOrDefault())).ToList()); foreach (var itm in viewModel.ItemsMaterialDeliveryNoteWeaving) { var modelItem = new ItemsMaterialDeliveryNoteWeavingModel(itm.itemNoSOP, itm.itemMaterialName, itm.itemGrade, itm.itemType, itm.itemCode, itm.inputBale.GetValueOrDefault(), itm.inputPiece.GetValueOrDefault(), itm.inputMeter.GetValueOrDefault(), itm.inputKg.GetValueOrDefault()); await _ItemsMaterialDeliveryNoteWeavingRepository.InsertAsync(modelItem); } await _MaterialDeliveryNoteWeavingRepository.InsertAsync(model); }
private PdfPTable GetDetailInfo(MaterialDeliveryNoteWeavingViewModel model) { PdfPTable container = new PdfPTable(1) { WidthPercentage = 100 }; float[] containerWidths = new float[] { 1f }; container.SetWidths(containerWidths); PdfPCell cellContainer = new PdfPCell() { Border = Rectangle.NO_BORDER }; PdfPTable table = new PdfPTable(bodyTableColumns.Count) { WidthPercentage = 100 }; float[] widths = new float[] { 1f, 3f, 2f, 2f, 2f, 2f, 2f, 2f }; table.SetWidths(widths); PdfPCell cellHeader = new PdfPCell() { HorizontalAlignment = Element.ALIGN_CENTER, VerticalAlignment = Element.ALIGN_MIDDLE, }; PdfPCell cellRight = new PdfPCell() { HorizontalAlignment = Element.ALIGN_RIGHT, VerticalAlignment = Element.ALIGN_MIDDLE, }; PdfPCell cellLeft = new PdfPCell() { HorizontalAlignment = Element.ALIGN_LEFT, VerticalAlignment = Element.ALIGN_MIDDLE, }; foreach (var column in bodyTableColumns) { cellHeader.Phrase = new Phrase(column, TEXT_FONT_BOLD); table.AddCell(cellHeader); } decimal balTotal = 0; decimal pieceTotal = 0; decimal meterTotal = 0; decimal kgTotal = 0; int index = 1; foreach (var detail in model.ItemsMaterialDeliveryNoteWeaving) { cellRight.Phrase = new Phrase(index++.ToString(), TEXT_FONT); table.AddCell(cellRight); cellHeader.Phrase = new Phrase(detail.itemMaterialName, TEXT_FONT); table.AddCell(cellHeader); cellHeader.Phrase = new Phrase(detail.itemGrade, TEXT_FONT); table.AddCell(cellHeader); cellHeader.Phrase = new Phrase(detail.itemType, TEXT_FONT); table.AddCell(cellHeader); cellRight.Phrase = new Phrase(detail.inputBale?.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); balTotal += detail.inputBale.GetValueOrDefault(); cellRight.Phrase = new Phrase(detail.inputPiece?.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); pieceTotal += detail.inputPiece.GetValueOrDefault(); cellRight.Phrase = new Phrase(detail.inputMeter?.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); meterTotal += detail.inputMeter.GetValueOrDefault(); cellRight.Phrase = new Phrase(detail.inputKg?.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); kgTotal += detail.inputKg.GetValueOrDefault(); } //PdfPCell cellColspan = new PdfPCell() //{ // Colspan = 5, // HorizontalAlignment = Element.ALIGN_CENTER, // VerticalAlignment = Element.ALIGN_MIDDLE, //}; //cellColspan.Phrase = new Phrase("Total", TEXT_FONT); //table.AddCell(cellColspan); cellRight.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cellRight); cellRight.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cellRight); cellRight.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cellRight); cellRight.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cellRight); cellRight.Phrase = new Phrase(balTotal == 0 ? "" : balTotal.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); cellRight.Phrase = new Phrase(pieceTotal == 0 ? "" : pieceTotal.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); cellRight.Phrase = new Phrase(meterTotal == 0 ? "" : meterTotal.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); cellRight.Phrase = new Phrase(kgTotal == 0 ? "" : kgTotal.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); container.AddCell(table); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); return(container); }
private PdfPTable GetGroupDetailInfo(MaterialDeliveryNoteWeavingViewModel model) { PdfPTable container = new PdfPTable(2) { WidthPercentage = 100 }; float[] widths = new float[] { 1f, 1f }; container.SetWidths(widths); PdfPCell cellContainer = new PdfPCell() { Border = Rectangle.NO_BORDER }; PdfPTable table = new PdfPTable(3) { WidthPercentage = 100, }; float[] tableWidths = new float[] { 1f, 5f, 2f }; table.SetWidths(tableWidths); PdfPCell cellHeader = new PdfPCell() { HorizontalAlignment = Element.ALIGN_CENTER, VerticalAlignment = Element.ALIGN_MIDDLE, }; PdfPCell cellRight = new PdfPCell() { HorizontalAlignment = Element.ALIGN_RIGHT, VerticalAlignment = Element.ALIGN_MIDDLE, }; foreach (var column in groupTableColumns) { cellHeader.Phrase = new Phrase(column, TEXT_FONT_BOLD); table.AddCell(cellHeader); } cellHeader.Phrase = new Phrase("Total", TEXT_FONT); table.AddCell(cellHeader); cellHeader.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cellHeader); container.AddCell(table); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); cellContainer.Phrase = new Phrase("", TEXT_FONT); container.AddCell(cellContainer); return(container); }
private PdfPTable GetBuyerInfo(MaterialDeliveryNoteWeavingViewModel model, int timeoffset) { PdfPTable table = new PdfPTable(3) { WidthPercentage = 100 }; float[] widths = new float[] { 1f, 1f, 1f }; table.SetWidths(widths); PdfPCell cell = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_LEFT, VerticalAlignment = Element.ALIGN_MIDDLE, PaddingBottom = 2f }; cell.Phrase = new Phrase($"Tanggal S.J : {model.DateSJ?.AddHours(timeoffset).ToString("dd MMMM yyyy")}", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase($"Bagian : {model.Unit.Name}", TEXT_FONT); table.AddCell(cell); //cell.Phrase = new Phrase($"NO. : {model.BonNo}", TEXT_FONT); //table.AddCell(cell); //string buyerName = model.ShippingProductionOrders.FirstOrDefault()?.Buyer; //cell.Phrase = new Phrase($"U/ dikirim kepada: {buyerName}", TEXT_FONT); //table.AddCell(cell); //cell.Phrase = new Phrase("", TEXT_FONT); //table.AddCell(cell); //cell.Phrase = new Phrase($"Sesuai DO. NO. : {model.DeliveryOrder.No}", TEXT_FONT); //table.AddCell(cell); cell.Phrase = new Phrase($"Dikirim Kepada : {model.SendTo}", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); //cell.Phrase = new Phrase($"Tanggal : { model.Date.AddHours(timeoffset).ToString("dd MMMM yyyy")}", TEXT_FONT); cell.Phrase = new Phrase($"Nomor : {model.Code}", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); //cell.Phrase = new Phrase($"Jumlah Baris : { model.ShippingProductionOrders.Count }", TEXT_FONT); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); return(table); }