private void CoppySellRowsCtrl(JPK jpk, Business.JPKXMLModels.JPK jpkXML) { if (jpk.Sell.SellCtrl.Count > 0) { var ctrl = MapperHelper.Map <Business.JPKXMLModels.JPKEwidencjaSprzedazCtrl>(cfg => cfg.CreateMap <SellCtrl, Business.JPKXMLModels.JPKEwidencjaSprzedazCtrl>(), jpk.Sell.SellCtrl[0]); jpkXML.Ewidencja.SprzedazCtrl = ctrl; } }
private void CopyBuyRowsCtrl(JPK jpk, Business.JPKXMLModels.JPK jpkXML) { if (jpk.Buy.BuyCtrl.Count > 0) { var ctrl = MapperHelper.Map <Business.JPKXMLModels.JPKEwidencjaZakupCtrl>(cfg => cfg.CreateMap <BuyCtrl, Business.JPKXMLModels.JPKEwidencjaZakupCtrl>(), jpk.Buy.BuyCtrl[0]); jpkXML.Ewidencja.ZakupCtrl = ctrl; } }
public static void CreateWithAutoFixture() { Fixture fixture = new Fixture(); JPK jpk = fixture.Create <JPK>(); NamespacePrefixer.Serialize(jpk, "JPK_VAT_output_from_AutoFixture.xml"); }
static void Main(string[] args) { JpkCreator.CreateWithAutoFixture(); var path = @"JPK_VAT_example.xml"; if (File.Exists(path)) { JPK jpk = XmlSerializerHelper.FromFile <JPK>(path); NamespacePrefixer.Serialize(jpk, "JPK_VAT_output.xml"); } Console.WriteLine("Done"); }
public async Task LoadDBAsync(string path) { _jpkXML = await TryToDeserializeObjectAsync <Business.JPKXMLModels.JPK>(path); var jpk = new JPK(); LoadDeclarationFields(jpk.Declaration); CopyDeclarationFields(_jpkXML.Deklaracja.PozycjeSzczegolowe, jpk.Declaration, GenerateP_XPropertiesName()); CopySellRows(_jpkXML.Ewidencja.SprzedazWiersz, jpk, jpk.Sell); CoppySellRowsCtrl(_jpkXML.Ewidencja.SprzedazCtrl, jpk, jpk.Sell); CopyBuyRows(_jpkXML.Ewidencja.ZakupWiersz, jpk); CoppyBuyRowsCtrl(_jpkXML.Ewidencja.ZakupCtrl, jpk); _sessionContext.JPKDataSource = jpk; }
public void ValidData_JpkFileCorrectlyGenerated() { IList <invoice> invoices = new List <invoice>(); invoice invoice1 = new invoice() { invoice_id = 1, invoice_number = "3/2020", description = "Usługi informatyczne", amount_net = 2000, amount_vat = 460, vat_rate = 23, contractor_name = "Tiger Bonzo 2016", contractor_address = "ul. Mineralna 3, 91-601 Łódź", contractor_nip = "3921787841", date_of_issue = new DateTime(2020, 02, 29), date_of_sale = new DateTime(2020, 02, 29), income = true }; invoice invoice2 = new invoice() { invoice_id = 1, invoice_number = "4/2020", description = "Usługi informatyczne", amount_net = 1000, amount_vat = 230, vat_rate = 23, contractor_name = "Tiger Bonzo 2016", contractor_address = "ul. Mineralna 3, 91-601 Łódź", contractor_nip = "3921787841", date_of_issue = new DateTime(2020, 02, 29), date_of_sale = new DateTime(2020, 02, 29), income = true }; invoices.Add(invoice1); invoices.Add(invoice2); config config = new config() { config_id = 1, my_name = "Kamil Murański IT", my_address = "Zabłocińska 4/23, 01-697, Warszawa", my_nip = "1182144394", my_email = "*****@*****.**", form_variant = "3", path_for_jpk = @"C:\JPK", purpose_of_submission = "0", system_name = "Microsoft Excel" }; DateTime dateFrom = new DateTime(2020, 02, 01); DateTime dateTo = new DateTime(2020, 02, 29); JpkGenerator jpkGenerator = new JpkGenerator(); JPK jpk = jpkGenerator.GenerateJpk(invoices, config, dateFrom, dateTo); jpk.Should().NotBeNull(); jpk.Naglowek.KodFormularza.kodSystemowy.Should().Be("JPK_VAT (3)"); jpk.Naglowek.KodFormularza.Value.Should().Equals(0); //enum TKodFormularza.JPK_VAT == 0 jpk.Naglowek.KodFormularza.wersjaSchemy.Should().Be("1-1"); jpk.Naglowek.WariantFormularza.Should().Equals(3); jpk.Naglowek.CelZlozenia.Should().Be("0"); jpk.Naglowek.DataOd.Should().Be(new DateTime(2020, 02, 01)); jpk.Naglowek.DataDo.Should().Be(new DateTime(2020, 02, 29)); jpk.Naglowek.NazwaSystemu.Should().Be("Microsoft Excel"); jpk.Podmiot1.NIP.Should().Be("1182144394"); jpk.Podmiot1.PelnaNazwa.Should().Be("Kamil Murański IT"); jpk.Podmiot1.Email.Should().Be("*****@*****.**"); jpk.SprzedazWiersz.Should().HaveCount(2); jpk.SprzedazWiersz[0].LpSprzedazy.Should().Be("1"); jpk.SprzedazWiersz[0].NrKontrahenta.Should().Be("3921787841"); jpk.SprzedazWiersz[0].NazwaKontrahenta.Should().Be("Tiger Bonzo 2016"); jpk.SprzedazWiersz[0].AdresKontrahenta.Should().Be("ul. Mineralna 3, 91-601 Łódź"); jpk.SprzedazWiersz[0].DowodSprzedazy.Should().Be("3/2020"); jpk.SprzedazWiersz[0].DataWystawienia.Should().Be(new DateTime(2020, 02, 29)); jpk.SprzedazWiersz[0].DataSprzedazy.Should().Be(new DateTime(2020, 02, 29)); jpk.SprzedazWiersz[0].K_19.Should().Equals("2000"); jpk.SprzedazWiersz[0].K_20.Should().Equals("460"); jpk.SprzedazWiersz[1].LpSprzedazy.Should().Be("2"); jpk.SprzedazWiersz[1].NrKontrahenta.Should().Be("3921787841"); jpk.SprzedazWiersz[1].NazwaKontrahenta.Should().Be("Tiger Bonzo 2016"); jpk.SprzedazWiersz[1].AdresKontrahenta.Should().Be("ul. Mineralna 3, 91-601 Łódź"); jpk.SprzedazWiersz[1].DowodSprzedazy.Should().Be("4/2020"); jpk.SprzedazWiersz[1].DataWystawienia.Should().Be(new DateTime(2020, 02, 29)); jpk.SprzedazWiersz[1].DataSprzedazy.Should().Be(new DateTime(2020, 02, 29)); jpk.SprzedazWiersz[1].K_19.Should().Equals("1000"); jpk.SprzedazWiersz[1].K_20.Should().Equals("230"); jpk.SprzedazCtrl.LiczbaWierszySprzedazy.Should().Equals("2"); jpk.SprzedazCtrl.PodatekNalezny.Should().Equals("690"); jpk.ZakupCtrl.LiczbaWierszyZakupow.Should().Equals("0"); jpk.ZakupCtrl.PodatekNaliczony.Should().Equals("0"); }
public JPK GenerateJpk(IList <invoice> invoices, config config, DateTime dateFrom, DateTime dateTo) { JPK jpk = new JPK(); jpk.Naglowek = new TNaglowek(); jpk.Naglowek.KodFormularza = new TNaglowekKodFormularza(); //jpk.Naglowek.KodFormularza.kodSystemowy = "JPK_VAT (3)"; //jpk.Naglowek.KodFormularza.wersjaSchemy = "1-1"; jpk.Naglowek.WariantFormularza = 3; //config.form_variant //jpk.Naglowek.CelZlozenia = config.purpose_of_submission; //0 jpk.Naglowek.DataWytworzeniaJPK = DateTime.Now; jpk.Naglowek.DataOd = dateFrom; jpk.Naglowek.DataDo = dateTo; jpk.Naglowek.NazwaSystemu = config.system_name; jpk.Podmiot1 = new JPKPodmiot1(); jpk.Podmiot1.NIP = config.my_nip; jpk.Podmiot1.PelnaNazwa = config.my_name; jpk.Podmiot1.Email = config.my_email; var incomeInvoices = invoices.Where(a => a.income == true).ToArray(); decimal incomeSum = 0; jpk.SprzedazWiersz = new JPKSprzedazWiersz[incomeInvoices.Count()]; for (var i = 0; i < incomeInvoices.Count(); i++) { var currentInvoice = incomeInvoices[i]; JPKSprzedazWiersz item = new JPKSprzedazWiersz(); item.LpSprzedazy = (i + 1).ToString(); item.NrKontrahenta = currentInvoice.contractor_nip; item.NazwaKontrahenta = currentInvoice.contractor_name; item.AdresKontrahenta = currentInvoice.contractor_address; item.DowodSprzedazy = currentInvoice.invoice_number; item.DataWystawienia = currentInvoice.date_of_issue; item.DataSprzedazy = currentInvoice.date_of_sale; item.DataSprzedazySpecified = true; item.K_19 = currentInvoice.amount_net; item.K_20 = currentInvoice.amount_vat; jpk.SprzedazWiersz[i] = item; incomeSum = incomeSum + currentInvoice.amount_vat; } jpk.SprzedazCtrl = new JPKSprzedazCtrl(); jpk.SprzedazCtrl.LiczbaWierszySprzedazy = incomeInvoices.Count().ToString(); jpk.SprzedazCtrl.PodatekNalezny = incomeSum; var outcomeInvoices = invoices.Where(a => a.income == false).ToArray(); decimal outcomeSum = 0; jpk.ZakupWiersz = new JPKZakupWiersz[outcomeInvoices.Count()]; for (var i = 0; i < outcomeInvoices.Count(); i++) { var currentInvoice = outcomeInvoices[i]; JPKZakupWiersz item = new JPKZakupWiersz(); item.LpZakupu = (i + 1).ToString(); item.NrDostawcy = currentInvoice.contractor_nip; item.NazwaDostawcy = currentInvoice.contractor_name; item.AdresDostawcy = currentInvoice.contractor_address; item.DowodZakupu = currentInvoice.invoice_number; item.DataZakupu = currentInvoice.date_of_issue; //być może zamieniona kolejność item.DataWplywu = currentInvoice.date_of_sale; //być może zamieniona kolejność item.K_45 = currentInvoice.amount_net; item.K_46 = currentInvoice.amount_vat; jpk.ZakupWiersz[i] = item; outcomeSum = outcomeSum + currentInvoice.amount_vat; } jpk.ZakupCtrl = new JPKZakupCtrl(); jpk.ZakupCtrl.LiczbaWierszyZakupow = outcomeInvoices.Count().ToString(); jpk.ZakupCtrl.PodatekNaliczony = outcomeSum; XmlSerializer serializer = new XmlSerializer(typeof(JPK)); string jpkFileName = "JPK_" + new DateTime().Month + "_" + new DateTime().Year + ".xml"; string path = config.path_for_jpk + "\\" + jpkFileName; using (MemoryStream stream = new MemoryStream()) using (StreamWriter writer = new StreamWriter(path, false, Encoding.UTF8)) { serializer.Serialize(writer, jpk); } return(jpk); }
public static void InitZakupArray(this JPK jpk, int zakupLenght) { jpk.ZakupWiersz = new JPKZakupWiersz[zakupLenght]; }
public static void InitSprzedazArray(this JPK jpk, int sprzedazLenght) { jpk.SprzedazWiersz = new JPKSprzedazWiersz[sprzedazLenght]; }
private void CoppyBuyRowsCtrl(Business.JPKXMLModels.JPKEwidencjaZakupCtrl zakupCtrl, JPK jpk) { var buyCtrl = MapperHelper.Map <BuyCtrl>(cfg => cfg.CreateMap <Business.JPKXMLModels.JPKEwidencjaZakupCtrl, BuyCtrl>(), zakupCtrl); jpk.Buy.BuyCtrl.Add(buyCtrl); }
private void CopyBuyRows(Business.JPKXMLModels.JPKEwidencjaZakupWiersz[] zakupWiersz, JPK jpk) { var buyRows = MapperHelper.Map <List <BuyRow> >(cfg => cfg.CreateMap <Business.JPKXMLModels.JPKEwidencjaZakupWiersz, BuyRow>(), zakupWiersz); jpk.Buy.BuyRows = buyRows; }
private void CopyBuyRows(JPK jpk, Business.JPKXMLModels.JPK jpkXML) { var buyRows = MapperHelper.Map <Business.JPKXMLModels.JPKEwidencjaZakupWiersz[]>(cfg => cfg.CreateMap <BuyRow, Business.JPKXMLModels.JPKEwidencjaZakupWiersz>(), jpk.Buy.BuyRows); jpkXML.Ewidencja.ZakupWiersz = buyRows; }
private void CopySellRows(JPK jpk, Business.JPKXMLModels.JPK jpkXML) { var sellRows = MapperHelper.Map <Business.JPKXMLModels.JPKEwidencjaSprzedazWiersz[]>(cfg => cfg.CreateMap <SellRow, Business.JPKXMLModels.JPKEwidencjaSprzedazWiersz>(), jpk.Sell.SellRows); jpkXML.Ewidencja.SprzedazWiersz = sellRows; }
private void CoppySellRowsCtrl(Business.JPKXMLModels.JPKEwidencjaSprzedazCtrl sprzedazCtrl, JPK jpk, Sell sell) { var sellCtrl = MapperHelper.Map <SellCtrl>(cfg => cfg.CreateMap <Business.JPKXMLModels.JPKEwidencjaSprzedazCtrl, SellCtrl>(), sprzedazCtrl); sellCtrl.Sell = sell; //TO DO change it sellCtrl.ValidatePodatekNalezny(); // TO Do change it jpk.Sell.SellCtrl.Add(sellCtrl); }
private void CopySellRows(Business.JPKXMLModels.JPKEwidencjaSprzedazWiersz[] sprzedazWiersz, JPK jpk, Sell sell) { var sellRows = MapperHelper.Map <List <SellRow> >(cfg => cfg.CreateMap <Business.JPKXMLModels.JPKEwidencjaSprzedazWiersz, SellRow>(), sprzedazWiersz); foreach (var sellRow in sellRows) //TO Do change IT!!!! { sellRow.Sell = sell; } jpk.Sell.SellRows = sellRows; }