public IActionResult Update(int InvoiceNumber) { var invoice = _invoice.GetAll().FirstOrDefault(i => i.InvoiceNumber == InvoiceNumber); if (invoice != null) { var invoiceLines = _invoice.GetInvoiceLines(invoice.Id) .Select(item => new InvoiceLineIndexListingModel { InvoiceLineId = item.Id, ProductName = item.Product.Name, Amount = item.Amount, Price = item.Price, TotalPrice = item.TotalPrice }); var model = new InvoiceLinesListingModel() { InvoiceLines = invoiceLines }; return(View(model)); } return(RedirectToAction("Index", "Home")); }
// Po orderId tylko //ActionID => 2 - GetAll incoice public IActionResult ShowInvoice(int InvoiceId, int OrderId, string email, int ActionId) { ViewBag.ActionId = ActionId; var InvoiceMod = _invoice.GetInvoiceByOrderId(OrderId); var OrderMod = _order.GetAll().FirstOrDefault(o => o.Id == OrderId); var InvoiceLinesMod = _invoice.GetInvoiceLines(InvoiceMod.Id); int C = 0; var listingResultIL = InvoiceLinesMod // _packingNote.GetAllLines(PackingNoteId) .Select(item => new InvoiceLineIndexListingModel { InvoiceLineId = item.Id, ProductName = item.Product.Name, Amount = item.Amount, Price = item.Price, PriceNetto = Math.Round(Decimal.Divide(item.Price, 1.23m), 2), Tax = Math.Round(item.Price - (Math.Round(Decimal.Divide(item.Price, 1.23m), 2)), 2), TotalPrice = item.TotalPrice }); decimal sumA = 0.0m; decimal sumT = 0.0m; decimal sumN = 0.0m; int cnt = 1; foreach (var item in listingResultIL) { sumA += item.TotalPrice; sumT += item.Tax; sumN += Math.Round(Decimal.Divide(item.Price, 1.23m), 2); item.LP = cnt; Console.WriteLine("DDDDDDDDDDDDDDDD " + item.LP); Console.WriteLine("DDDDDDDDDDDDDDDD " + cnt); cnt++; } Console.WriteLine("DDDDDDDDDDDDDDDD 222 " + listingResultIL.ToList()[0].LP); var model = new InvoiceLinesListingModel() { InvoiceLines = listingResultIL }; Console.WriteLine("ILOSC: " + listingResultIL.Count()); var listingResult = // _packingNote.GetAllLines(PackingNoteId) new InvoiceIndexListingModel { OrderId = OrderMod.Id, OrderNumber = OrderMod.OrderNumber, InvoiceNumber = InvoiceMod.InvoiceNumber, InvoiceTime = InvoiceMod.InvoiceDate, AddressId = OrderMod.Address.Id, AddressStreet = OrderMod.Address.Street, AddressStreetNumber = OrderMod.Address.StreetNumber, AddressAppartmentNumber = OrderMod.Address.AppartmentNumber, AddressPostCode = OrderMod.Address.PostCode, AddressCity = OrderMod.Address.City, AddressCountry = OrderMod.Address.Country, ClientId = OrderMod.Client.Id, ClientNumber = OrderMod.Client.ClientNumber, ClientName = OrderMod.Client.Name, ClientSurname = OrderMod.Client.Surname, ClientPhoneNumer = OrderMod.Client.PhoneNumer, Clientemail = OrderMod.Client.email, Lines = model, TotalPriceBrutto = sumA, TotalTax = sumT, TotalPriceNetto = sumN }; StringReader sr = new StringReader(InvoicePdfTemplete.DO(listingResult)); MemoryStream memoryStream = new MemoryStream(); Document document = new Document(PageSize.A4, 10f, 10f, 10f, 0f); HTMLWorker htmlparser = new HTMLWorker(document); PdfWriter writer = PdfWriter.GetInstance(document, memoryStream); document.Open(); document.Add(new Paragraph("fdefedwf")); htmlparser.Parse(sr); document.Close(); byte[] bytes = memoryStream.ToArray(); memoryStream = new MemoryStream(); memoryStream.Write(bytes, 0, bytes.Length); memoryStream.Position = 0; if (email != "admin") { _helper.InvoiceEmailSender(listingResult.Clientemail, "Faktura " + listingResult.InvoiceNumber, memoryStream); } //memoryStream.Close(); // return new FileStreamResult(memoryStream,"application/pdf"); return(View(listingResult)); }