public static string KwotaSlownie(decimal kwota, string kodWaluty) { int calosc = (int)kwota; int ulamki = (int)(kwota * 100) % 100; return(string.Format("{0} {1}, {2} {3}", Formatowanie.LiczbaSlownie(calosc), Formatowanie.WalutaSlownie(calosc, kodWaluty), Formatowanie.LiczbaSlownie(ulamki), Formatowanie.WalutaSlownie(ulamki, "." + kodWaluty))); }
private void generate_Click(object sender, EventArgs e) { int cena = Int32.Parse(cena_txt.Text); int zadatek = Int32.Parse(zadatek_txt.Text); int pozostala = cena - zadatek; var desktopFolder = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); var fullFileName = Path.Combine(desktopFolder, "umowa.pdf"); FileStream fs = new FileStream(fullFileName, FileMode.Create, FileAccess.Write, FileShare.None); iTextSharp.text.Font timesBoldItalic = FontFactory.GetFont(FontFactory.TIMES_BOLDITALIC, BaseFont.CP1250, 11); iTextSharp.text.Font timesBold = FontFactory.GetFont(FontFactory.TIMES_BOLD, BaseFont.CP1250, 11); iTextSharp.text.Font times = FontFactory.GetFont(FontFactory.TIMES, BaseFont.CP1250, 11); Document doc = new Document(PageSize.A4, 40, 40, 20, 40); PdfWriter writer = PdfWriter.GetInstance(doc, fs); iTextSharp.text.Image flisy_1 = iTextSharp.text.Image.GetInstance("flisy_01.png"); doc.Open(); doc.SetMargins(40f, 40f, 40f, 40f); doc.AddTitle("Umowa Flisy"); doc.AddAuthor("Flisy"); // first image flisy_1.ScaleToFit(600f, 70f); flisy_1.Alignment = Element.ALIGN_CENTER; doc.Add(flisy_1); Paragraph title = new Paragraph("UMOWA O DZIEŁO", timesBoldItalic); title.Alignment = Element.ALIGN_CENTER; doc.Add(title); // &0 var zero_ph = new Phrase(); zero_ph.Add(new Chunk("Zawarta w dniu ", times)); zero_ph.Add(new Chunk(data_txt.Text, timesBold)); zero_ph.Add(new Chunk(" pomiędzy zespołem muzycznym FLISY reprezentowanym przez Arkadiusza Olka zamieszkałym w Gorzowie Wlkp.ul.Wiedeńska 1i / 15 zwanym w treści umowy wykonawcą, a organizatorem imprezy czyli ", times)); zero_ph.Add(new Chunk(zlece_txt.Text, timesBold)); zero_ph.Add(new Chunk(" zamieszkałym ", times)); zero_ph.Add(new Chunk(adr_zlece_txt.Text, timesBold)); zero_ph.Add(new Chunk(" zwanym w treści umowy zamawiającym.", times)); Paragraph zero = new Paragraph(zero_ph); zero.Alignment = Element.ALIGN_JUSTIFIED; zero.SetLeading(0.0f, 1.5f); doc.Add(zero); // &1 Paragraph one_amp = new Paragraph("&1", timesBold); one_amp.Alignment = Element.ALIGN_CENTER; one_amp.SetLeading(0.0f, 1.5f); doc.Add(one_amp); var one_ph = new Phrase(); one_ph.Add(new Chunk("Zamawiający zamawia wykonanie a wykonawca zobowiązuje się wykonać dzieło polegające na: \na) oprawie muzyczno - wokalnej uroczystości weselnej \nb) oprawie muzyczno-wokalnej uroczystości weselnej wraz z poprawinami \nc) oprawie muzyczno-wokalnej imprezy", times)); Paragraph one = new Paragraph(one_ph); one.Alignment = Element.ALIGN_JUSTIFIED; one.SetLeading(0.0f, 1.5f); doc.Add(one); // &2 Paragraph two_amp = new Paragraph("&2", timesBold); two_amp.Alignment = Element.ALIGN_CENTER; two_amp.SetLeading(0.0f, 1.5f); doc.Add(two_amp); var two_ph = new Phrase(); two_ph.Add(new Chunk("W terminie dnia ", times)); two_ph.Add(new Chunk(termin_txt.Text, timesBold)); two_ph.Add(new Chunk(" od godz. 16:00 do godz. 4:00 w miejscu ", times)); two_ph.Add(new Chunk(miejsce_txt.Text, timesBold)); two_ph.Add(new Chunk(".", times)); Paragraph two = new Paragraph(two_ph); two.Alignment = Element.ALIGN_JUSTIFIED; two.SetLeading(0.0f, 1.5f); doc.Add(two); // &3 Paragraph three_amp = new Paragraph("&3", timesBold); three_amp.Alignment = Element.ALIGN_CENTER; three_amp.SetLeading(0.0f, 1.5f); doc.Add(three_amp); var three_ph = new Phrase(); three_ph.Add(new Chunk("Za wykonanie dzieła zamawiający wypłaci wykonawcy wynagrodzenie w wysokości ", times)); three_ph.Add(new Chunk(cena_txt.Text + ",00", timesBold)); three_ph.Add(new Chunk(" słownie ", times)); three_ph.Add(new Chunk(String.Format("{0} {1}", Formatowanie.LiczbaSlownie(cena), Formatowanie.WalutaSlownie(cena, "PLN")), timesBold)); three_ph.Add(new Chunk(".", times)); Paragraph three = new Paragraph(three_ph); three.Alignment = Element.ALIGN_JUSTIFIED; three.SetLeading(0.0f, 1.5f); doc.Add(three); // &4 Paragraph four_amp = new Paragraph("&4", timesBold); four_amp.Alignment = Element.ALIGN_CENTER; four_amp.SetLeading(0.0f, 1.5f); doc.Add(four_amp); var four_ph = new Phrase(); four_ph.Add(new Chunk("Zadatek w kwocie ", times)); four_ph.Add(new Chunk(zadatek_txt.Text + ",00", timesBold)); four_ph.Add(new Chunk(" słownie ", times)); four_ph.Add(new Chunk(String.Format("{0} {1}", Formatowanie.LiczbaSlownie(zadatek), Formatowanie.WalutaSlownie(zadatek, "PLN")), timesBold)); four_ph.Add(new Chunk(" pobrano w dniu sporządzenia umowy. Do uregulowania pozostaje kwota ", times)); four_ph.Add(new Chunk(pozostala.ToString() + ",00", timesBold)); four_ph.Add(new Chunk(" słownie ", times)); four_ph.Add(new Chunk(String.Format("{0} {1}", Formatowanie.LiczbaSlownie(pozostala), Formatowanie.WalutaSlownie(pozostala, "PLN")), timesBold)); four_ph.Add(new Chunk(" która wypłacona będzie bezpośrednio po zakończeniu imprezy.", times)); Paragraph four = new Paragraph(four_ph); four.Alignment = Element.ALIGN_JUSTIFIED; four.SetLeading(0.0f, 1.5f); doc.Add(four); // &5 Paragraph five_amp = new Paragraph("&5", timesBold); five_amp.Alignment = Element.ALIGN_CENTER; five_amp.SetLeading(0.0f, 1.5f); doc.Add(five_amp); var five_ph = new Phrase(); five_ph.Add(new Chunk("Wykonawca nie może powierzyć dzieła innym osobom bez zgody zamawiającego. ", times)); Paragraph five = new Paragraph(five_ph); five.Alignment = Element.ALIGN_JUSTIFIED; five.SetLeading(0.0f, 1.5f); doc.Add(five); // &6 Paragraph six_amp = new Paragraph("&6", timesBold); six_amp.Alignment = Element.ALIGN_CENTER; six_amp.SetLeading(0.0f, 1.5f); doc.Add(six_amp); var six_ph = new Phrase(); six_ph.Add(new Chunk("Zamawiający jest jednocześnie organizatorem imprezy. ", times)); Paragraph six = new Paragraph(six_ph); six.Alignment = Element.ALIGN_JUSTIFIED; six.SetLeading(0.0f, 1.5f); doc.Add(six); // &7 Paragraph seven_amp = new Paragraph("&7", timesBold); seven_amp.Alignment = Element.ALIGN_CENTER; seven_amp.SetLeading(0.0f, 1.5f); doc.Add(seven_amp); var seven_ph = new Phrase(); seven_ph.Add(new Chunk("Zamawiający ponosi odpowiedzialność materialną za zniszczenie lub uszkodzenie sprzętu powstałe z winy osób nie będących członkami zespołu.", times)); Paragraph seven = new Paragraph(seven_ph); seven.Alignment = Element.ALIGN_JUSTIFIED; seven.SetLeading(0.0f, 1.5f); doc.Add(seven); // &8 Paragraph eight_amp = new Paragraph("&8", timesBold); eight_amp.Alignment = Element.ALIGN_CENTER; eight_amp.SetLeading(0.0f, 1.5f); doc.Add(eight_amp); var eight_ph = new Phrase(); eight_ph.Add(new Chunk("W przypadku rozwiązania umowy przez zamawiającego, zadatek przechodzi na rzecz wykonawcy. ", times)); Paragraph eight = new Paragraph(eight_ph); eight.Alignment = Element.ALIGN_JUSTIFIED; eight.SetLeading(0.0f, 1.5f); doc.Add(eight); // &9 Paragraph nine_amp = new Paragraph("&9", timesBold); nine_amp.Alignment = Element.ALIGN_CENTER; nine_amp.SetLeading(0.0f, 1.5f); doc.Add(nine_amp); var nine_ph = new Phrase(); nine_ph.Add(new Chunk("W przypadku rozwiązania umowy przez wykonawcę, zadatek w podwójnej wysokości przechodzi na rzecz zamawiającego.", times)); Paragraph nine = new Paragraph(nine_ph); nine.Alignment = Element.ALIGN_JUSTIFIED; nine.SetLeading(0.0f, 1.5f); doc.Add(nine); // &10 Paragraph ten_amp = new Paragraph("&10", timesBold); ten_amp.Alignment = Element.ALIGN_CENTER; ten_amp.SetLeading(0.0f, 1.5f); doc.Add(ten_amp); var ten_ph = new Phrase(); ten_ph.Add(new Chunk("W sprawach nie uregulowanych niniejszą umową mają zastosowanie przepisy kodeksu cywilnego.", times)); Paragraph ten = new Paragraph(ten_ph); ten.Alignment = Element.ALIGN_JUSTIFIED; ten.SetLeading(0.0f, 1.5f); doc.Add(ten); // &11 Paragraph eleven_amp = new Paragraph("&11", timesBold); eleven_amp.Alignment = Element.ALIGN_CENTER; eleven_amp.SetLeading(0.0f, 1.5f); doc.Add(eleven_amp); var eleven_ph = new Phrase(); eleven_ph.Add(new Chunk("Umowę sporządzono w dwóch jednobrzmiących egzemplarzach, po jednym dla każdej ze stron.", times)); Paragraph eleven = new Paragraph(eleven_ph); eleven.Alignment = Element.ALIGN_JUSTIFIED; eleven.SetLeading(0.0f, 1.5f); doc.Add(eleven); // signatures var signatures_ph = new Phrase(); signatures_ph.Add(new Chunk("\n\n (zamawiający) (wykonawca) ", times)); Paragraph signatures = new Paragraph(signatures_ph); signatures.Alignment = Element.ALIGN_JUSTIFIED; doc.Add(signatures); doc.Close(); System.Windows.Forms.MessageBox.Show("Umowa została wygenerowana."); }