public async Task <IActionResult> Create([Bind("Id,Date,InvoiceNumber,ContractorId,Description,SellValue,OtherIncome,GoodsBuys,BuysSideEffects,Salary,OtherCosts,Column15,CostDescription,ResearchCostValue,Comments")] TaxBook taxBook) { ViewData["ContractorId"] = new SelectList(_context.Contractor, "Id", "Name"); if (ModelState.IsValid) { _context.Add(taxBook); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(taxBook)); }
public async Task <IActionResult> GenerateTaxBook(int?year, int?month) { if (year == null || month == null) { return(NotFound()); } var taxBook = new TaxBook(); string pdfFilename = taxBook.generate(_context, (int)year, (int)month); string downFilename = taxBook.getDownloadFilename((int)year, (int)month); await Task.Delay(1000); return(RedirectToAction("GetPdfFile", new { filename = pdfFilename, downloadFilename = downFilename })); }
// GET: GenerateInvoice public async Task <IActionResult> AddToTaxBook(int?year, int?month) { var VATRegisterBuyItems = _context.VATRegisterBuy.Where(p => p.Month == month && p.Year == year); List <TaxBook> taxBookItems = new List <TaxBook>(); foreach (VATRegisterBuy v in VATRegisterBuyItems) { TaxBook taxBook = new TaxBook(); taxBook.Date = v.DateOfIssue; taxBook.InvoiceNumber = v.DocumentNumber; taxBook.ContractorId = v.ContractorId; //taxBook.Description = v.DescriptionForTaxBook; taxBook.OtherCosts = v.ValueNetto; taxBookItems.Add(taxBook); } _context.AddRange(taxBookItems); await _context.SaveChangesAsync(); return(null); }
// GET: Invoice/Confirm public IActionResult Confirm(int?id) { if (id == null) { return(NotFound()); } Invoice invoice = _context.Invoice.Include(i => i.InvoiceItems).Include(i => i.InvoiceStatus).Single(m => m.Id == id); if (invoice.InvoiceStatus.Name != "zatwierdzona") { invoice.InvoiceStatusId = _context.InvoiceStatus.Single(p => p.Name == "zatwierdzona").Id; VATRegisterSell sell = new VATRegisterSell(); TaxBook taxBook = new TaxBook(); try { sell = _context.VATRegisterSell.Single(p => p.DocumentNumber == invoice.Number); sell.Number = sell.getOrderNumber(_context); sell.DeliveryDate = invoice.DateOfDelivery; sell.DateOfIssue = invoice.DateOfIssue; sell.Month = sell.DateOfIssue.Month; sell.Year = sell.DateOfIssue.Year; sell.DocumentNumber = invoice.Number; sell.ContractorId = invoice.ContractorId; sell.ValueBrutto = invoice.TotalValueInclVat; sell.ValueNetto23 = 0; sell.VATValue23 = 0; // TO DO: add other VAT rates support foreach (InvoiceItem item in invoice.InvoiceItems) { if (item.VATValue == 23) { sell.ValueNetto23 += item.TotalPrice; sell.VATValue23 += item.TotalVATValue; } } _context.Update(sell); } catch (Exception) { sell.Number = sell.getOrderNumber(_context); sell.DeliveryDate = invoice.DateOfDelivery; sell.DateOfIssue = invoice.DateOfIssue; sell.Month = sell.DateOfIssue.Month; sell.Year = sell.DateOfIssue.Year; sell.DocumentNumber = invoice.Number; sell.ContractorId = invoice.ContractorId; sell.ValueBrutto = invoice.TotalValueInclVat; // TO DO: add other VAT rates support foreach (InvoiceItem item in invoice.InvoiceItems) { if (item.VATValue == 23) { sell.ValueNetto23 += item.TotalPrice; sell.VATValue23 += item.TotalVATValue; } } _context.Add(sell); } try { taxBook = _context.TaxBookItem.Single(p => p.InvoiceNumber == invoice.Number); taxBook.Date = invoice.DateOfIssue; taxBook.ContractorId = invoice.ContractorId; taxBook.SellValue = invoice.TotalValue; taxBook.Description = "sprzedaż"; _context.Update(taxBook); } catch (Exception) { taxBook.Date = invoice.DateOfIssue; taxBook.InvoiceNumber = invoice.Number; taxBook.ContractorId = invoice.ContractorId; taxBook.SellValue = invoice.TotalValue; taxBook.Description = "sprzedaż"; _context.Add(taxBook); } _context.Update(invoice); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } else { invoice.InvoiceStatusId = _context.InvoiceStatus.Single(p => p.Name == "nowa").Id; _context.Update(invoice); _context.SaveChanges(); return(RedirectToAction(nameof(Details), new { id = id })); } }