//implements Void public async Task <int> UpdateAsync(int id, NewShipmentDocumentModel model) { EntityExtension.FlagForUpdate(model, _IdentityService.Username, _UserAgent); _DbSet.Update(model); model.IsVoid = true; foreach (var detail in model.Details) { EntityExtension.FlagForUpdate(detail, _IdentityService.Username, _UserAgent); _DetailDbSet.Update(detail); foreach (var item in detail.Items) { EntityExtension.FlagForUpdate(item, _IdentityService.Username, _UserAgent); _ItemDbSet.Update(item); foreach (var packingReceiptItem in item.PackingReceiptItems) { EntityExtension.FlagForUpdate(packingReceiptItem, _IdentityService.Username, _UserAgent); _PackingReceiptItemDbSet.Update(packingReceiptItem); } } } await CreateInventoryDocumentIn(model); return(await _DbContext.SaveChangesAsync()); }
public async Task <int> CreateAsync(NewShipmentDocumentModel model) { do { model.Code = CodeGenerator.Generate(); }while (_DbSet.Any(d => d.Code.Equals(model.Code))); EntityExtension.FlagForCreate(model, _IdentityService.Username, _UserAgent); _DbSet.Add(model); foreach (var detail in model.Details) { EntityExtension.FlagForCreate(detail, _IdentityService.Username, _UserAgent); _DetailDbSet.Add(detail); foreach (var item in detail.Items) { EntityExtension.FlagForCreate(item, _IdentityService.Username, _UserAgent); _ItemDbSet.Add(item); foreach (var packingReceiptItem in item.PackingReceiptItems) { EntityExtension.FlagForCreate(packingReceiptItem, _IdentityService.Username, _UserAgent); _PackingReceiptItemDbSet.Add(packingReceiptItem); } } } //UpdatePackingReceiptQuantity(model); await CreateInventoryDocumentOut(model); return(await _DbContext.SaveChangesAsync()); }
private PdfPTable GetSignatureSection(NewShipmentDocumentModel model, int timeoffset) { PdfPTable table = new PdfPTable(4) { WidthPercentage = 100 }; float[] widths = new float[] { 1f, 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.CreatedUtc.AddHours(timeoffset).ToString("dd MMMM yyyy")}", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("Kasubsie Gudang Jadi", 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("Petugas Gudang", 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("", 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 NewShipmentPdfTemplate(NewShipmentDocumentModel model, int timeoffset) { Title = GetTitle(); AddressTitle = GetAddressTitle(); DocumentTitle = GetDocumentTitle(); DocumentISO = GetISO(); DocumentInfo = GetBuyerInfo(model); DetailInfo = GetDetailInfo(model); NettoSection = GetNettoSection(); SignatureSection = GetSignatureSection(model, timeoffset); }
public async Task <NewShipmentDocumentModel> GetNewData() { var packingService = new PackingFacade(Service._ServiceProvider, _dbContext); var packingReceiptService = new PackingReceiptFacade(Service._ServiceProvider, _dbContext); var packingModel = GetPacking(); await packingService.CreateAsync(packingModel); var packingReceiptModel = GetPackingReceipt(packingModel); await packingReceiptService.CreateAsync(packingReceiptModel); var TestData = new NewShipmentDocumentModel() { BuyerAddress = "BuyerAddress", BuyerCity = "BuyerCity", BuyerCode = "BuyerCode", BuyerContact = "BuyerContact", BuyerCountry = "BuyerCountry", BuyerId = 1, BuyerName = "BuyerName", BuyerNPWP = " BuyerNPWP", BuyerTempo = "BuyerTempo", BuyerType = "BuyerType", DOSalesId = 1, DOSalesNo = "DOSalesNo", DeliveryDate = DateTimeOffset.Now, DeliveryReference = "Reference", Details = new List <NewShipmentDocumentDetailModel>() { new NewShipmentDocumentDetailModel() { Items = new List <NewShipmentDocumentItemModel>() { new NewShipmentDocumentItemModel() { PackingReceiptId = packingReceiptModel.Id, PackingReceiptItems = new List <NewShipmentDocumentPackingReceiptItemModel>() { new NewShipmentDocumentPackingReceiptItemModel() { PackingReceiptItemIndex = packingReceiptModel.Items.FirstOrDefault().Id } } } } } } }; return(TestData); }
public void Mapping_With_AutoMapper_Profiles() { var configuration = new MapperConfiguration(cfg => { cfg.AddProfile <NewShipmentDocumentProfile>(); }); var mapper = configuration.CreateMapper(); NewShipmentDocumentViewModel vm = new NewShipmentDocumentViewModel { Id = 1 }; NewShipmentDocumentModel model = mapper.Map <NewShipmentDocumentModel>(vm); Assert.Equal(vm.Id, model.Id); }
private async Task CreateInventoryDocumentOut(NewShipmentDocumentModel model) { string referenceType = string.IsNullOrWhiteSpace(model.StorageName) ? model.StorageName : ""; var inventoryDoc = new InventoryDocumentViewModel() { date = model.DeliveryDate, referenceType = $"Pengiriman Barang {referenceType}", referenceNo = model.Code, remark = "Pengiriman Barang", type = "OUT", storageId = model.StorageId, storageCode = model.StorageCode, storageName = model.StorageName, items = new List <InventoryDocumentItemViewModel>() }; foreach (var detail in model.Details) { foreach (var item in detail.Items) { foreach (var packingReceiptItem in item.PackingReceiptItems) { var data = new InventoryDocumentItemViewModel { productCode = packingReceiptItem.ProductCode, productName = packingReceiptItem.ProductName, productId = packingReceiptItem.ProductId, remark = packingReceiptItem.Remark, quantity = packingReceiptItem.Quantity, uomId = packingReceiptItem.UOMId, stockPlanning = 0, uom = packingReceiptItem.UOMUnit }; inventoryDoc.items.Add(data); } } } string uri = "inventory-documents"; var httpClient = (IHttpClientService)_ServiceProvider.GetService(typeof(IHttpClientService)); var response = await httpClient.PostAsync($"{APIEndpoint.Inventory}{uri}", new StringContent(JsonConvert.SerializeObject(inventoryDoc).ToString(), Encoding.UTF8, "application/json")); response.EnsureSuccessStatusCode(); }
private PdfPTable GetBuyerInfo(NewShipmentDocumentModel model) { 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("Kepada Yth. Bagian Penjualan", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase($"NO. : {model.ShipmentNumber}", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase($"U/ dikirim kepada: {model.BuyerName}", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase("", TEXT_FONT); table.AddCell(cell); cell.Phrase = new Phrase($"Sesuai DO. NO. : {model.DOSalesNo}", TEXT_FONT); table.AddCell(cell); return(table); }
private PdfPTable GetDetailInfo(NewShipmentDocumentModel model) { PdfPTable table = new PdfPTable(8) { WidthPercentage = 100 }; float[] widths = new float[] { 2f, 1f, 1f, 1f, 1f, 1f, 1f, 1f }; 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); } double quantityTotal = 0; double lengthTotal = 0; double weightTotal = 0; foreach (var detail in model.Details) { foreach (var item in detail.Items) { foreach (var packingReceiptItem in item.PackingReceiptItems) { cellLeft.Phrase = new Phrase(packingReceiptItem.ProductName, TEXT_FONT); table.AddCell(cellLeft); cellLeft.Phrase = new Phrase(detail.ProductionOrderDesignCode, TEXT_FONT); table.AddCell(cellLeft); cellLeft.Phrase = new Phrase(detail.ProductionOrderNo, TEXT_FONT); table.AddCell(cellLeft); cellLeft.Phrase = new Phrase(detail.ProductionOrderColorType, TEXT_FONT); table.AddCell(cellLeft); cellLeft.Phrase = new Phrase(packingReceiptItem.UOMUnit, TEXT_FONT); table.AddCell(cellLeft); cellRight.Phrase = new Phrase(packingReceiptItem.Quantity.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); quantityTotal += packingReceiptItem.Quantity; cellRight.Phrase = new Phrase((packingReceiptItem.Quantity * packingReceiptItem.Length).ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); lengthTotal += (packingReceiptItem.Quantity * packingReceiptItem.Length); cellRight.Phrase = new Phrase((packingReceiptItem.Quantity * packingReceiptItem.Weight).ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); weightTotal += (packingReceiptItem.Quantity * packingReceiptItem.Weight); } } } 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(quantityTotal.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); cellRight.Phrase = new Phrase(lengthTotal.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); cellRight.Phrase = new Phrase(weightTotal.ToString("N2", CultureInfo.InvariantCulture), TEXT_FONT); table.AddCell(cellRight); return(table); }