public JPK_VAT(int month, int year, ApplicationDbContext _context) { Naglowek = new Naglowek(month, year); Podmiot = new Podmiot(_context.Company.FirstOrDefault()); SprzedazCtrl = new SprzedazCtrl(); SprzedazWierszList = new List <SprzedazWiersz>(); ZakupCtrl = new ZakupCtrl(); ZakupWierszList = new List <ZakupWiersz>(); int i = 1; var sprzedaz = _context.VATRegisterSell.Include(j => j.Contractor).Where(p => p.Month == month && p.Year == year).OrderBy(p => p.DateOfIssue); foreach (VATRegisterSell s in sprzedaz) { SprzedazWiersz sprzedazWiersz = new SprzedazWiersz() { LpSprzedazy = i, NrKontrahenta = s.Contractor.NIP, NazwaKontrahenta = s.Contractor.FullName, AdresKontrahenta = s.Contractor.FullAddress, DowodSprzedazy = s.DocumentNumber, DataWystawienia = s.DateOfIssue, DataSprzedazy = s.DeliveryDate, K_19 = Tools.decimalRound((decimal)s.ValueNetto23), K_20 = Tools.decimalRound((decimal)s.VATValue23), }; SprzedazWierszList.Add(sprzedazWiersz); SprzedazCtrl.PodatekNalezny += s.VATSummary; i++; } SprzedazCtrl.PodatekNalezny = Tools.decimalRound(SprzedazCtrl.PodatekNalezny); SprzedazCtrl.LiczbaWierszySprzedazy = sprzedaz.Count(); i = 1; var zakupy = _context.VATRegisterBuy.Include(j => j.Contractor).Where(p => p.Month == month && p.Year == year).OrderBy(p => p.DateOfIssue); foreach (VATRegisterBuy z in zakupy) { ZakupWiersz zakupWiersz = new ZakupWiersz() { LpZakupu = i, NrDostawcy = z.Contractor.NIP, NazwaDostawcy = z.Contractor.FullName, AdresDostawcy = z.Contractor.FullAddress, DowodZakupu = z.DocumentNumber, DataZakupu = z.DateOfIssue, DataWplywu = z.DateOfIssue, K_45 = Tools.decimalRound(z.ValueNetto), K_46 = Tools.decimalRound((decimal)z.TaxDeductibleValue) }; ZakupWierszList.Add(zakupWiersz); ZakupCtrl.PodatekNaliczony += (decimal)z.TaxDeductibleValue; i++; } ZakupCtrl.PodatekNaliczony = Tools.decimalRound(ZakupCtrl.PodatekNaliczony); ZakupCtrl.LiczbaWierszyZakupow = zakupy.Count(); }
public string generate() { XDocument xml = new XDocument(); XElement root = new XElement(tns + "JPK"); root.Add(new XAttribute(XNamespace.Xmlns + "etd", etd)); root.Add(new XAttribute(XNamespace.Xmlns + "tns", tns)); root.Add(new XAttribute(XNamespace.Xmlns + "xsi", xsi)); XElement naglowek = new XElement(tns + "Naglowek"); XElement kodFormularza = new XElement(tns + "KodFormularza", Naglowek.KodFormularza.Wartosc); XAttribute kodSystemowy = new XAttribute("kodSystemowy", Naglowek.KodFormularza.KodSystemowy); XAttribute wersjaSchemy = new XAttribute("wersjaSchemy", Naglowek.KodFormularza.WersjaSchemy); kodFormularza.Add(kodSystemowy); kodFormularza.Add(wersjaSchemy); naglowek.Add(kodFormularza); XElement wariantFormularza = new XElement(tns + "WariantFormularza", Naglowek.WariantFormularza); XElement celZlozenia = new XElement(tns + "CelZlozenia", Naglowek.CelZlozenia); XElement dataWytworzeniaJPK = new XElement(tns + "DataWytworzeniaJPK", Naglowek.DataWytworzeniaJPK.ToString("yyyy-MM-ddTHH:mm:ss")); XElement dataOd = new XElement(tns + "DataOd", formatDate(Naglowek.DataOd)); XElement dataDo = new XElement(tns + "DataDo", formatDate(Naglowek.DataDo)); XElement nazwaSystemu = new XElement(tns + "NazwaSystemu", Naglowek.NazwaSystemu); naglowek.Add(wariantFormularza); naglowek.Add(celZlozenia); naglowek.Add(dataWytworzeniaJPK); naglowek.Add(dataOd); naglowek.Add(dataDo); naglowek.Add(nazwaSystemu); root.Add(naglowek); XElement podmiot = new XElement(tns + "Podmiot1"); XElement nip = new XElement(tns + "NIP", Podmiot.NIP); XElement pelnaNazwa = new XElement(tns + "PelnaNazwa", Podmiot.PelnaNazwa); XElement email = new XElement(tns + "Email", Podmiot.Email); podmiot.Add(nip); podmiot.Add(pelnaNazwa); podmiot.Add(email); root.Add(podmiot); foreach (SprzedazWiersz s in SprzedazWierszList) { XElement sprzedazWiersz = new XElement(tns + "SprzedazWiersz"); XElement lpSprzedazy = new XElement(tns + "LpSprzedazy", s.LpSprzedazy); XElement nrKontrahenta = new XElement(tns + "NrKontrahenta", s.NrKontrahenta); XElement nazwaKontrahenta = new XElement(tns + "NazwaKontrahenta", s.NazwaKontrahenta); XElement adresKontrahenta = new XElement(tns + "AdresKontrahenta", s.AdresKontrahenta); XElement dowodSprzedazy = new XElement(tns + "DowodSprzedazy", s.DowodSprzedazy); XElement dataWystawienia = new XElement(tns + "DataWystawienia", formatDate(s.DataWystawienia)); XElement dataSprzedazy = new XElement(tns + "DataSprzedazy", formatDate(s.DataSprzedazy)); XElement k_19 = new XElement(tns + "K_19", Tools.decimalRound(s.K_19)); XElement k_20 = new XElement(tns + "K_20", Tools.decimalRound(s.K_20)); sprzedazWiersz.Add(lpSprzedazy); sprzedazWiersz.Add(nrKontrahenta); sprzedazWiersz.Add(nazwaKontrahenta); sprzedazWiersz.Add(adresKontrahenta); sprzedazWiersz.Add(dowodSprzedazy); sprzedazWiersz.Add(dataWystawienia); sprzedazWiersz.Add(dataSprzedazy); sprzedazWiersz.Add(k_19); sprzedazWiersz.Add(k_20); root.Add(sprzedazWiersz); } XElement sprzedazCtrl = new XElement(tns + "SprzedazCtrl"); XElement liczbaWierszySprzedazy = new XElement(tns + "LiczbaWierszySprzedazy", SprzedazCtrl.LiczbaWierszySprzedazy); XElement podatekNalezny = new XElement(tns + "PodatekNalezny", SprzedazCtrl.PodatekNalezny); sprzedazCtrl.Add(liczbaWierszySprzedazy); sprzedazCtrl.Add(podatekNalezny); root.Add(sprzedazCtrl); foreach (ZakupWiersz z in ZakupWierszList) { XElement zakupWiersz = new XElement(tns + "ZakupWiersz"); XElement lpZakupu = new XElement(tns + "LpZakupu", z.LpZakupu); XElement nrDostawcy = new XElement(tns + "NrDostawcy", z.NrDostawcy); XElement nazwaDostawcy = new XElement(tns + "NazwaDostawcy", z.NazwaDostawcy); XElement adresDostawcy = new XElement(tns + "AdresDostawcy", z.AdresDostawcy); XElement dowodZakupu = new XElement(tns + "DowodZakupu", z.DowodZakupu); XElement dataZakupu = new XElement(tns + "DataZakupu", formatDate(z.DataZakupu)); XElement dataWplywu = new XElement(tns + "DataWplywu", formatDate(z.DataWplywu)); XElement k_45 = new XElement(tns + "K_45", z.K_45); XElement k_46 = new XElement(tns + "K_46", z.K_46); zakupWiersz.Add(lpZakupu); zakupWiersz.Add(nrDostawcy); zakupWiersz.Add(nazwaDostawcy); zakupWiersz.Add(adresDostawcy); zakupWiersz.Add(dowodZakupu); zakupWiersz.Add(dataZakupu); zakupWiersz.Add(dataWplywu); zakupWiersz.Add(k_45); zakupWiersz.Add(k_46); root.Add(zakupWiersz); } XElement zakupCtrl = new XElement(tns + "ZakupCtrl"); XElement liczbaWierszyZakupu = new XElement(tns + "LiczbaWierszyZakupow", ZakupCtrl.LiczbaWierszyZakupow); XElement podatekNaliczony = new XElement(tns + "PodatekNaliczony", ZakupCtrl.PodatekNaliczony); zakupCtrl.Add(liczbaWierszyZakupu); zakupCtrl.Add(podatekNaliczony); root.Add(zakupCtrl); xml.Add(root); string time = DateTime.Now.ToFileTime().ToString(); string filename = Tools.getHash(xml.ToString() + time) + ".xml"; xml.Save("tmp/" + filename); return(filename); }