//Create an invoice as a txt file with the name of the company and with an unique number. private void SaveInvoiceBtn_Click(object sender, RoutedEventArgs e) { if (PartnerNames.SelectedItem == null || DateOfDeliveryBox.SelectedDate == null || TermOfPaymentBox.SelectedDate == null || CurrencyList.SelectedItem == null || MethodOfPaymentList.SelectedItem == null || ItemHandler.GetItems().Count == 0) { MessageBox.Show("Hiányzó adatok!", "Hiba", MessageBoxButton.OK, MessageBoxImage.Error); return; } long n = long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss")); Partner selectedPartner = PartnerNames.SelectedItem as Partner; string date = n.ToString(); string path = $"{PartnerNames.SelectedItem.ToString()}\\{PartnerNames.SelectedItem.ToString().Replace(".", "")}{date}"; using (FileStream file = File.Open(path + ".txt", FileMode.Create)) { List <string> datas = new List <string>(); datas.Add(string.Format("E-szamla{0,85}{1}", "", InfoHandler.ownCompany.Name)); datas.Add(string.Format("{0,60} {1,40}", "", InfoHandler.ownCompany.Address)); datas.Add(string.Format("{0,60} {1,-15}{2,-30}", "", "Adoszam:", InfoHandler.ownCompany.TaxNumber)); datas.Add(string.Format("{0,60} {1,-15}{2,-30}", "", "Bankszamlaszam:", InfoHandler.ownCompany.AccountNumber)); datas.Add(drawLine()); datas.Add("Vevo adatai: "); datas.Add("Vevo neve:" + selectedPartner.Name); datas.Add("Vevo címe:" + selectedPartner.Address); datas.Add("Szamlaszam: " + selectedPartner.BankAccountNumber); datas.Add("Szamla kelte: " + DateTime.Now.ToString("yyyy.MM.dd")); datas.Add("Teljesites idopontja: " + ((DateTime)DateOfDeliveryBox.SelectedDate).ToString("yyyy.MM.dd")); datas.Add("Fizetesi hatarido: " + ((DateTime)TermOfPaymentBox.SelectedDate).ToString("yyyy.MM.dd")); datas.Add("Szamla szama: " + n); datas.Add(drawLine()); string header = string.Format("{0}{1,15}{2,15}{3,15}{4,15}{5,15}{6,15}{7,15}", "Megnevezes", "Penznem", "Egysegar", "Mennyiseg", "Netto ar", "AFA%", "AFA", "Brutto ar"); datas.Add(header); double finalPrice = 0; string currency = ItemHandler.GetItems()[0].Currency; foreach (var item in ItemHandler.GetItems()) { string datasUnderHeader = string.Format("{0}{1,15}{2,15}{3,15}{4,15}{5,15}{6,15}{7,15}", item.Name, item.Currency, item.Price, item.Amount, item.NetPrice, item.Tax, item.TaxAmount, item.BruttoPrice); datas.Add(datasUnderHeader); finalPrice += item.BruttoPrice; } datas.Add(drawLine()); datas.Add(string.Format("Fizetendo:{0,60} {1}.", finalPrice, currency)); string[] dataArray = datas.ToArray(); for (int i = 0; i < dataArray.Length; i++) { dataArray[i] = CharacterReplacer.replaceAccentuatedLetters(dataArray[i]); } using (StreamWriter writer = new StreamWriter(file)) { int counter = 0; foreach (var item in dataArray) { writer.WriteLine(item); writer.WriteLine(); writer.WriteLine(); if (counter == 0 || counter == 3) { writer.WriteLine(); writer.WriteLine(); writer.WriteLine(); } counter++; } } PdfConverter.GeneratePdf(path); } MessageBox.Show("Sikeres mentés!", "Mentve", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); }