using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DatenDB { public class Berechnungen { private static Meldungen meldung = new Meldungen(); public Berechnungen() { } public static double[] GetBewertung(double kndums, int betten, double gesamtumsatz, double variablekosten, double[] kosten, bool istmiete) { double[] bewertung = new double[5]; bewertung[0] = kndums / gesamtumsatz; //UMSATZANTEIL bewertung[1] = variablekosten * -1 * bewertung[0] / betten; //KOSTENANTEIL bewertung[2] = kndums / betten; //UMSATZ/GAST bewertung[3] = bewertung[2] - bewertung[1]; //BEWERTUNG IN EURO if (istmiete) bewertung[4] = bewertung[3] / kosten[2]; else bewertung[4] = bewertung[3] / kosten[1]; return bewertung; } public static double[] Differenz_berechnen(double zahl1, double zahl2) { double[] diff = new double[2]; diff[0] = zahl1 - zahl2; //DIFFERENZ IN EUR if (zahl2 != 0) diff[1] = diff[0] / zahl2; else diff[1] = 1.00; //DIFFERENZ IN % return diff; } public static double[] Kostensummen(List kostenliste) { double[] results = new double[4]; foreach(Kosten kosten in kostenliste) { if (kosten.Kategorie == KostenKat.FixLohn) results[0] += (double)kosten.Betrag; if (kosten.Kategorie == KostenKat.FixMiete) results[1] += (double)kosten.Betrag; if (kosten.Kategorie == KostenKat.Variabel) results[2] += (double)kosten.Betrag; if (kosten.Kategorie == KostenKat.Rest) results[3] += (double)kosten.Betrag; } for (int i = 0; i < results.Length; i++) { results[i] = results[i] * -1; } return results; } public static DateTime GetNextWeekday(int liefertag) { DateTime today = DateTime.Today; DayOfWeek heute = today.DayOfWeek; if ((int)heute == liefertag) { if(meldung.GetFrage(null, $"Möchtest du HEUTE als Liefertag wählen?", false) == DialogResult.Yes) return today; else return today.AddDays(7); } int daysUntilLiefertag = ((int)liefertag - (int)heute + 7) % 7; return today.AddDays(daysUntilLiefertag); } } }