Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace Kapitalrechner_3
- {
- public partial class Form_1 : Form
- {
- public Form_1()
- {
- InitializeComponent();
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- ClearAll(this);
- }
- private void button_exit_Click(object sender, EventArgs e)
- {
- Environment.Exit(0);
- }
- private void button_Clipboard_Click(object sender, EventArgs e)
- {
- string clip = "";
- foreach (string line in listBox_out.Items)
- {
- clip += line.Replace(" ", string.Empty);
- clip += Environment.NewLine;
- }
- try
- {
- Clipboard.SetText(clip);
- }
- catch
- {
- label_info.Text = "Data is null";
- return;
- }
- label_info.Text = "Copied";
- }
- void ClearAll(Control con)
- {
- ClearList();
- foreach (Control c in con.Controls)
- {
- if (c is TextBox)
- ((TextBox)c).Clear();
- else
- ClearAll(c);
- }
- }
- void ClearList()
- {
- listBox_out.Items.Clear();
- }
- private void button_clearAll_Click(object sender, EventArgs e)
- {
- ClearAll(this);
- textBox_k0.Focus();
- }
- private void button_clearList_Click(object sender, EventArgs e)
- {
- ClearList();
- }
- float GetDays(DateTime startD, DateTime endD)
- {
- float days = 0;
- days = (30 - startD.Date.Day) + 30 * ((endD.Date.Month + (endD.Date.Year - startD.Date.Year) * 12) - startD.Date.Month - 1) - 1 + endD.Date.Day;
- return days;
- }
- float GetYears(DateTime startD, DateTime endD)
- {
- float years = 0;
- years = (endD.Date.Year - startD.Date.Year) - 1;
- if (years < 0)
- {
- years = 0;
- }
- Console.WriteLine("Years: " + years);
- return years;
- }
- float GetDaysFirst(DateTime startD, DateTime endD)
- {
- float days = 0;
- days = (30 - startD.Date.Day) + 30 * (12 - startD.Date.Month - 1);
- Console.WriteLine("First Days: " + days);
- return days;
- }
- float GetDaysLast(DateTime startD, DateTime endD)
- {
- float days = 0;
- days = 30 * endD.Date.Month + endD.Date.Day;
- Console.WriteLine("Last Days: " + days);
- return days;
- }
- private void button_go_Click(object sender, EventArgs e)
- {
- ClearList();
- button_go.Enabled = false;
- double k0 = 0;
- double n = 0;
- double p = 0;
- double peff = 0;
- double pFormular = 0;
- DateTime startDate;
- DateTime endDate;
- double kFirst = 0;
- double kMiddle = 0;
- double kLast = 0;
- double kAll = 0;
- try
- {
- startDate = dateTimePicker_start.Value.Date;
- endDate = dateTimePicker_end.Value.Date;
- k0 = Convert.ToDouble(textBox_k0.Text);
- p = Convert.ToDouble(textBox_p.Text);
- }
- catch
- {
- label_info.Text = "Check your input";
- return;
- }
- try
- {
- n = Convert.ToDouble(textBox_n.Text);
- }
- catch
- {
- try
- {
- n = Convert.ToDouble(new DataTable().Compute(textBox_n.Text, null));
- }
- catch
- {
- try
- {
- n = GetDays(startDate, endDate);
- textBox_n.Text = n + " / 360";
- }
- catch
- {
- label_info.Text = "Check your input";
- return;
- }
- }
- }
- //Peff
- peff = p * 0.75;
- textBox_peff.Text = peff.ToString();
- //Check if Peff should be used
- if (checkBox_usePeff.Checked)
- {
- pFormular = peff / 100;
- }
- else
- {
- pFormular = p / 100;
- }
- //Display day difference
- label_days.Text = n.ToString();
- //First Action:
- kFirst = k0 * (1 + pFormular * (GetDaysFirst(startDate, endDate) / 360));
- //Second Action:
- kMiddle = kFirst * Math.Pow(1 + pFormular, (GetYears(startDate, endDate)));
- //Last Action:
- kLast = kMiddle * (1 + pFormular * (GetDaysLast(startDate, endDate) / 360));
- kAll = kFirst + kMiddle + kLast;
- if (startDate.Date.Year == endDate.Date.Year)
- {
- kAll = k0 * (1 + pFormular * (GetDays(startDate, endDate) / 360));
- kFirst = 0;
- kMiddle = 0;
- kLast = 0;
- }
- //Display output
- listBox_out.Items.Add("K" + startDate.Date.Year.ToString() + ":\t" + kFirst);
- listBox_out.Items.Add("K" + (startDate.Date.Year + GetYears(startDate, endDate)) + ":\t" + kMiddle);
- listBox_out.Items.Add("K" + endDate.Date.Year.ToString() + ":\t" + kLast);
- listBox_out.Items.Add("Kall:\t" + kAll);
- button_go.Enabled = true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement