Example #1
0
        private void ElastizitätsErgebnisseVisualisieren(object sender, RoutedEventArgs e)
        {
            if (!berechnet)
            {
                if (modell == null)
                {
                    _ = MessageBox.Show("Modelldaten für Elastizitätsberechnung sind noch nicht spezifiziert", "Elastizitätsberechnung");
                    return;
                }
                analysis = new Berechnung(modell);
                analysis.ComputeSystemMatrix();
                analysis.ComputeSystemVector();
                analysis.SolveEquations();
                berechnet = true;
            }

            if (modell.SpatialDimension == 2)
            {
                var tragwerk = new Elastizitätsberechnung.Ergebnisse.StatikErgebnisseVisualisieren(modell);
                tragwerk.Show();
            }
            else if (modell.SpatialDimension == 3)
            {
                var tragwerk = new Elastizitätsberechnung.Ergebnisse.StatikErgebnisse3DVisualisieren(modell);
                tragwerk.Show();
            }
            else
            {
                _ = MessageBox.Show(sb.ToString(), "falsche Raumdimension, muss 2 oder 3 sein");
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            int    wahl = 0;
            double celsius, fahrenheit;

            Console.WriteLine("Auswahl Konvertierungstyp");
            Console.WriteLine("1. Celsius --> Fahrenheit");
            Console.WriteLine("2. Fahrenheit --> Celsius");
            string input = Console.ReadLine();

            if (int.TryParse(input, out wahl))
            {
                switch (wahl)
                {
                case 1:
                    Console.WriteLine("Celsius wert: ");
                    celsius = double.Parse(Console.ReadLine());
                    Console.WriteLine("{0:F1}", (Berechnung.CnachF(celsius)));
                    break;

                case 2:
                    Console.WriteLine("Fahrenheit wert: ");
                    fahrenheit = double.Parse(Console.ReadLine());
                    Console.WriteLine("{0:F1}", (Berechnung.FnachC(fahrenheit)));
                    break;
                }
            }
            else
            {
                Console.WriteLine("Syntax Error");
            }
            Console.ReadKey();
        }
Example #3
0
 /// <summary>
 /// Methode zum Anzeigen des übergebenen <see cref="Auftrag"/> in den Controls
 /// </summary>
 /// <param name="auftrag"></param>
 /// <seealso cref="EasyAuftragContext"/>
 private void FillControls(Auftrag auftrag)
 {
     try
     {
         tbAuftragNr.Text = auftrag.AuftragNummer;
         using (var db = new EasyAuftragContext(_connection))
         {
             int[] kundenIDs        = (from k in db.Kunden select k.KundeID).ToArray();
             var   cbKundeEintraege = (from k in db.Kunden select new { ID = k.KundeID, kName = k.Name }).ToList();
             cbKunde.DataSource    = cbKundeEintraege;
             cbKunde.DisplayMember = "kName";
             cbKunde.ValueMember   = "ID";
             cbKunde.SelectedIndex = Array.IndexOf(kundenIDs, auftrag.KundeID);
         }
         dtpEingang.Value      = auftrag.Eingang;
         dtpErteilt.Value      = auftrag.Erteilt;
         cbErledigt.Checked    = auftrag.Erledigt;
         cbAbgerechnet.Checked = auftrag.Abgerechnet;
         tbGesamt.Text         = Math.Round(Berechnung.AuftragZeitGesamt(_minlist) / 60, 2).ToString();
     }
     catch (Exception ex)
     {
         ErrorHandler.ErrorHandle(ex);
     }
 }
Example #4
0
        /// <summary>
        /// Methode zum Laden und Aktualisieren der Tätigkeiten im <see cref="DataGridView"/>
        /// </summary>
        /// <seealso cref="EasyAuftragContext"/>
        private void DataGridNeu()
        {
            try
            {
                using (var db = new EasyAuftragContext(_connection))
                {
                    //Laden aller zugehörigen Tätigkeiten
                    _tatlist = (from t in db.Taetigkeiten
                                where t.AuftragID == AuftragInfo.AuftragID
                                select t).ToList();

                    _bind.DataSource = _tatlist;
                    foreach (var tat in _tatlist)
                    {
                        _minlist.Add(tat.Minuten);
                    }
                    foreach (var tat in AuftragInfo.Taetigkeiten)
                    {
                        _bind.Add(tat);
                    }
                    dgvAuftrag.DataSource = _bind;
                    dgvAuftrag.Columns["TaetigkeitID"].Visible = false;
                    dgvAuftrag.Columns["AuftragID"].Visible    = false;
                    tbGesamt.Text = Math.Round(Berechnung.AuftragZeitGesamt(_minlist) / 60, 2).ToString();
                }
            }
            catch (Exception ex)
            {
                ErrorHandler.ErrorHandle(ex);
            }
        }
Example #5
0
 private void StatikErgebnisseVisualisieren(object sender, RoutedEventArgs e)
 {
     if (!berechnet)
     {
         analysis = new Berechnung(modell);
         analysis.ComputeSystemMatrix();
         analysis.ComputeSystemVector();
         analysis.SolveEquations();
         berechnet = true;
     }
     _ = new Tragwerksberechnung.Ergebnisse.StatikErgebnisseVisualisieren(modell);
 }
        // Konstruktor
        public FliesenBerechnungBedarfsermittlung(Fliese fliese, MainWindow mainwindow)
        {
            InitializeComponent();

            this.fliese     = fliese;
            this.berechnung = new Berechnung();
            this.mainwindow = mainwindow;

            flieseBeschreibungTextBlock.Text += " Name:\t\t\t" + fliese.name + "\n";
            flieseBeschreibungTextBlock.Text += " Artikelnummer:\t\t" + fliese.artikelnummer + "\n";
            flieseBeschreibungTextBlock.Text += " Beschreibung:\t\t" + fliese.beschreibung + "\n";
            flieseBeschreibungTextBlock.Text += " Preis:\t\t\t" + fliese.preis + " / Paket" + "\n";
        }
Example #7
0
        /// <summary>
        /// Methode zum Anlegen einer neuen Tätigkeit
        /// </summary>
        /// <remarks>
        /// Öffnet <see cref="TaetigkeitView"/> und legt eine neue Taetigkeit an, falls erstere <see cref="DialogResult.OK"/> zurückgibt.
        /// </remarks>
        private void NeueTaetigkeit()
        {
            TaetigkeitView taetigkeitV = new TaetigkeitView("Neue Tätigkeit", _connection);

            if (taetigkeitV.ShowDialog() == DialogResult.OK)
            {
                AuftragInfo.Taetigkeiten.Add(taetigkeitV.TaetigkeitInfo);
                _bind.Add(taetigkeitV.TaetigkeitInfo);
                _minlist.Add(taetigkeitV.TaetigkeitInfo.Minuten);
                tbGesamt.Text = Math.Round(Berechnung.AuftragZeitGesamt(_minlist) / 60, 2).ToString();
            }
            this.BringToFront();
            this.Activate();
        }
Example #8
0
        private void StatikErgebnisseAnzeigen(object sender, EventArgs e)
        {
            if (!berechnet)
            {
                analysis = new Berechnung(modell);
                analysis.ComputeSystemMatrix();
                analysis.ComputeSystemVector();
                analysis.SolveEquations();
                berechnet = true;
            }
            var ergebnisse = new Tragwerksberechnung.Ergebnisse.StatikErgebnisseAnzeigen(modell);

            ergebnisse.Show();
        }
Example #9
0
 private void TragwerksdatenBerechnen(object sender, EventArgs e)
 {
     if (tragwerksDaten)
     {
         analysis = new Berechnung(modell);
         analysis.ComputeSystemMatrix();
         analysis.ComputeSystemVector();
         analysis.SolveEquations();
         berechnet = true;
         _         = MessageBox.Show("Systemgleichungen erfolgreich gelöst", "statische Tragwerksberechnung");
     }
     else
     {
         _ = MessageBox.Show("Tragwerksdaten müssen zuerst eingelesen werden", "statische Tragwerksberechnung");
     }
 }
Example #10
0
        public void AuftragZeitGesamtTest()
        {
            // Taetigkeitsliste mit drei Einträgen für Auftrag 345 erstellen
            List <Taetigkeit> testTaetigkeiten = new List <Taetigkeit>();

            testTaetigkeiten.Add(new Taetigkeit()
            {
                AuftragID     = 345,
                MitarbeiterID = 1,
                TaetigkeitID  = 1,
                Datum         = new DateTime(2019, 7, 18),
                Name          = "Installation 1",
                StartZeit     = new TimeSpan(4, 21, 0),
                EndZeit       = new TimeSpan(13, 46, 0)
            }
                                 );

            testTaetigkeiten.Add(new Taetigkeit()
            {
                AuftragID     = 345,
                MitarbeiterID = 2,
                TaetigkeitID  = 2,
                Datum         = new DateTime(2018, 4, 27),
                Name          = "Installation 2",
                StartZeit     = new TimeSpan(12, 6, 0),
                EndZeit       = new TimeSpan(15, 12, 0)
            }
                                 );

            testTaetigkeiten.Add(new Taetigkeit()
            {
                AuftragID     = 345,
                MitarbeiterID = 1,
                TaetigkeitID  = 3,
                Datum         = new DateTime(2017, 10, 30),
                Name          = "Installation 3",
                StartZeit     = new TimeSpan(16, 14, 0),
                EndZeit       = new TimeSpan(22, 38, 0)
            }
                                 );

            // Berechnung der Gesamtzeit für den Auftrag prüfen
            if (Berechnung.AuftragZeitGesamt(testTaetigkeiten) != 1135)
            {
                Assert.Fail();
            }
        }
Example #11
0
        /// <summary>
        /// Zeigt den Stundensoll, die geleisteten Stunden
        /// und die Liste der Tätigkeiten aus dem <see cref="Core.Model.StundenDoc"/> in den Controls an.
        /// </summary>
        public void FillControls()
        {
            try
            {
                Config conf = new Config();
                conf.LeseXML();

                tbSoll.Text           = (Convert.ToDouble(StuDoc.Mitarbeiter.AuslastungStelle) / 100 * conf.StundenSoll).ToString();
                tbGeleistet.Text      = Berechnung.ArbeitsZeit(StuDoc).ToString();
                dgvStunden.DataSource = StuDoc.Tatlist;
                dgvStunden.Columns["TaetigkeitID"].Visible  = false;
                dgvStunden.Columns["MitarbeiterID"].Visible = false;
            }
            catch (Exception ex)
            {
                ErrorHandler.ErrorHandle(ex);
            }
        }
Example #12
0
        private void ElastizitätsberechnungErgebnisse(object sender, EventArgs e)
        {
            if (!berechnet)
            {
                if (modell == null)
                {
                    _ = MessageBox.Show("Modelldaten für Elastizitätsberechnung sind noch nicht spezifiziert", "Elastizitätsberechnung");
                    return;
                }
                analysis = new Berechnung(modell);
                analysis.ComputeSystemMatrix();
                analysis.ComputeSystemVector();
                analysis.SolveEquations();
                berechnet = true;
            }
            var ergebnisse = new Elastizitätsberechnung.Ergebnisse.StatikErgebnisseAnzeigen(modell);

            ergebnisse.Show();
        }
Example #13
0
 private void DynamischeBerechnung(object sender, EventArgs e)
 {
     if (zeitintegrationDaten)
     {
         if (!berechnet)
         {
             analysis = new Berechnung(modell);
             analysis.ComputeSystemMatrix();
             analysis.ComputeSystemVector();
             analysis.SolveEquations();
             berechnet = true;
         }
         analysis.TimeIntegration2NdOrder();
         zeitintegrationBerechnet = true;
     }
     else
     {
         _ = MessageBox.Show("Daten für Zeitintegration sind noch nicht spezifiziert", "Tragwerksberechnung");
     }
 }
Example #14
0
 private void WärmeberechnungErgebnisseVisualisieren(object sender, RoutedEventArgs e)
 {
     if (wärmeDaten)
     {
         if (!berechnet)
         {
             analysis = new Berechnung(modell);
             analysis.ComputeSystemMatrix();
             analysis.ComputeSystemVector();
             analysis.SolveEquations();
             berechnet = true;
         }
         var wärmeModell = new Wärmeberechnung.Ergebnisse.StationäreErgebnisseVisualisieren(modell);
         wärmeModell.Show();
     }
     else
     {
         _ = MessageBox.Show("Modelldaten für Wärmeberechnung sind noch nicht spezifiziert", "Wärmeberechnung");
     }
 }
Example #15
0
 private void InstationäreBerechnung(object sender, RoutedEventArgs e)
 {
     if (zeitintegrationDaten)
     {
         if (!berechnet)
         {
             analysis = new Berechnung(modell);
             analysis.ComputeSystemMatrix();
             analysis.ComputeSystemVector();
             analysis.SolveEquations();
             berechnet = true;
         }
         analysis.TimeIntegration1StOrder();
         zeitintegrationBerechnet = true;
         _ = MessageBox.Show("Zeitintegration erfolgreich durchgeführt", "instationäre Wärmeberechnung");
     }
     else
     {
         _ = MessageBox.Show("Daten für Zeitintegration sind noch nicht spezifiziert", "Wärmeberechnung");
     }
 }
Example #16
0
 private void EigenlösungTragwerkBerechnen(object sender, RoutedEventArgs e)
 {
     if (modell != null)
     {
         if (!berechnet)
         {
             analysis = new Berechnung(modell);
             analysis.ComputeSystemMatrix();
         }
         // default = 2 Eigenstates, falls nicht anders spezifiziert
         if (modell.Eigenstate == null)
         {
             modell.Eigenstate = new Eigenzustand("default", 2);
         }
         analysis.Eigenstates();
         _ = MessageBox.Show("Eigenfrequenzen erfolgreich ermittelt", "Tragwerksberechnung");
     }
     else
     {
         _ = MessageBox.Show("Modelldaten sind noch nicht spezifiziert", "Tragwerksberechnung");
     }
 }
Example #17
0
 private void EigenlösungTragwerkVisualisieren(object sender, RoutedEventArgs e)
 {
     if (modell != null)
     {
         if (!berechnet)
         {
             analysis = new Berechnung(modell);
             analysis.ComputeSystemMatrix();
             // default = 2 Eigenstates, falls nicht anders spezifiziert
             if (modell.Eigenstate == null)
             {
                 modell.Eigenstate = new Eigenzustand("default", 2);
             }
         }
         analysis.Eigenstates();
         var visual = new Tragwerksberechnung.Ergebnisse.EigenlösungVisualisieren(modell);
         visual.Show();
     }
     else
     {
         _ = MessageBox.Show("Modelldaten sind noch nicht spezifiziert", "Tragwerksberechnung");
     }
 }
Example #18
0
        private void ElastizitätsdatenBerechnen(object sender, EventArgs e)
        {
            if (modell == null)
            {
                _ = MessageBox.Show("Modelldaten für Elastizitätsberechnung sind noch nicht spezifiziert", "Elastizitätsberechnung");
                return;
            }
            try
            {
                analysis = new Berechnung(modell);
                analysis.ComputeSystemMatrix();
                analysis.ComputeSystemVector();
                analysis.SolveEquations();
                berechnet = true;

                _ = MessageBox.Show("Systemgleichungen erfolgreich gelöst", "Elastizitätsberechnung");
            }

            catch (BerechnungAusnahme)
            {
                throw new BerechnungAusnahme("Abbruch: Fehler bei Lösung der Systemgleichungen");
            }
        }
Example #19
0
 private void EigenlösungWärmeAnzeigen(object sender, RoutedEventArgs e)
 {
     if (modell != null)
     {
         if (!berechnet)
         {
             analysis = new Berechnung(modell);
             analysis.ComputeSystemMatrix();
             // default = 2 Eigenstates, falls nicht anders spezifiziert
             if (modell.Eigenstate == null)
             {
                 modell.Eigenstate = new Eigenzustand("default", 2);
             }
         }
         analysis.Eigenstates();
         var eigen = new Eigenlösung.Eigenlösung(modell);
         eigen.Show();
     }
     else
     {
         _ = MessageBox.Show("Modelldaten sind noch nicht spezifiziert", "Wärmeberechnung");
     }
 }
        public void RunTest()
        {
            var testdataPaths = Directory.EnumerateFiles(Path.GetDirectoryName(typeof(Test).GetTypeInfo().Assembly.Location))
                                .Where(path => Path.GetFileName(path).StartsWith("testdata-") && Path.GetExtension(path) == ".csv");

            int files = 0;
            int tests = 0;

            foreach (string path in testdataPaths)
            {
                foreach (var line in ReadCsvTable(path))
                {
                    var e = new Eingabeparameter
                    {
                        STKL     = int.Parse(line["STKL"], _culture),
                        af       = int.Parse(line["AF"], _culture),
                        f        = double.Parse(line["F"], _culture),
                        ZKF      = decimal.Parse(line["ZKF"], _culture),
                        AJAHR    = int.Parse(line["AJAHR"], _culture),
                        ALTER1   = int.Parse(line["ALTER1"], _culture),
                        RE4      = decimal.Parse(line["RE4"], _culture),
                        VBEZ     = decimal.Parse(line["VBEZ"], _culture),
                        LZZ      = int.Parse(line["LZZ"], _culture),
                        KRV      = int.Parse(line["KRV"], _culture),
                        KVZ      = decimal.Parse(line["KVZ"], _culture),
                        PKPV     = decimal.Parse(line["PKPV"], _culture),
                        PKV      = int.Parse(line["PKV"], _culture),
                        PVS      = int.Parse(line["PVS"], _culture),
                        PVZ      = int.Parse(line["PVZ"], _culture),
                        R        = int.Parse(line["R"], _culture),
                        LZZFREIB = decimal.Parse(line["LZZFREIB"], _culture),
                        LZZHINZU = decimal.Parse(line["LZZHINZU"], _culture),
                        VJAHR    = int.Parse(line["VJAHR"], _culture),
                        VBEZM    = decimal.Parse(line["VBEZM"], _culture),
                        VBEZS    = decimal.Parse(line["VBEZS"], _culture),
                        ZMVB     = int.Parse(line["ZMVB"], _culture),
                        JRE4     = decimal.Parse(line["JRE4"], _culture),
                        JVBEZ    = decimal.Parse(line["JVBEZ"], _culture),
                        JFREIB   = decimal.Parse(line["JFREIB"], _culture),
                        JHINZU   = decimal.Parse(line["JHINZU"], _culture),
                        JRE4ENT  = decimal.Parse(line["JRE4ENT"], _culture),
                        SONSTB   = decimal.Parse(line["SONSTB"], _culture),
                        STERBE   = decimal.Parse(line["STERBE"], _culture),
                        VBS      = decimal.Parse(line["VBS"], _culture),
                        SONSTENT = decimal.Parse(line["SONSTENT"], _culture),
                        VKAPA    = decimal.Parse(line["VKAPA"], _culture),
                        VMT      = decimal.Parse(line["VMT"], _culture),
                        ENTSCH   = decimal.Parse(line["ENTSCH"], _culture)
                    };

                    var berechnung = new Berechnung(e);
                    berechnung.Lohnsteuer();

                    var a = berechnung.Ausgabeparameter;

                    Assert.Equal(decimal.Parse(line["LSTLZZ"], _culture), a.LSTLZZ);

                    // Optionale Tests je nach Existenz des Feldes in der CSV
                    OptionalTest(line, "SOLZLZZ", a.SOLZLZZ);
                    OptionalTest(line, "BK", a.BK);
                    OptionalTest(line, "STS", a.STS);
                    OptionalTest(line, "SOLZS", a.SOLZS);
                    OptionalTest(line, "BKS", a.BKS);
                    OptionalTest(line, "STV", a.STV);
                    OptionalTest(line, "SOLZV", a.SOLZV);
                    OptionalTest(line, "BKV", a.BKV);
                    OptionalTest(line, "VKVLZZ", a.VKVLZZ);
                    OptionalTest(line, "VKVSONST", a.VKVSONST);

                    tests++;
                }

                files++;
            }

            Assert.NotEqual(0, tests);

            Console.WriteLine($"{tests} Berechnungstests aus {files} Testdateien durchgeführt");
        }
Example #21
0
        public void VerformteGeometrie()
        {
            if (!StartFenster.berechnet)
            {
                var analysis = new Berechnung(modell);
                analysis.ComputeSystemMatrix();
                analysis.ComputeSystemVector();
                analysis.SolveEquations();
                StartFenster.berechnet = true;
            }
            //int überhöhung = 1;
            //const int rotationÜberhöhung = 1;
            var pathGeometry = new PathGeometry();

            IEnumerable <AbstraktElement> Elements()
            {
                foreach (var item in modell.Elemente)
                {
                    if (item.Value is AbstraktElement element)
                    {
                        yield return(element);
                    }
                }
            }

            foreach (var element in Elements())
            {
                //element.ElementState = element.ComputeElementState();
                var pathFigure = new PathFigure();

                switch (element)
                {
                case Element2D3 _:
                {
                    if (modell.Knoten.TryGetValue(element.NodeIds[0], out knoten))
                    {
                    }
                    var start = TransformVerformtenKnoten(knoten, auflösung, maxY);
                    pathFigure.StartPoint = start;

                    for (var i = 1; i < element.NodeIds.Length; i++)
                    {
                        if (modell.Knoten.TryGetValue(element.NodeIds[i], out knoten))
                        {
                        }
                        var end = TransformVerformtenKnoten(knoten, auflösung, maxY);
                        pathFigure.Segments.Add(new LineSegment(end, true));
                    }
                    break;
                }
                }
                if (element.NodeIds.Length > 2)
                {
                    pathFigure.IsClosed = true;
                }
                pathGeometry.Figures.Add(pathFigure);
            }

            // alle Elemente werden der GeometryGroup tragwerk hinzugefügt
            var tragwerk = new GeometryGroup();

            tragwerk.Children.Add(pathGeometry);

            Shape path = new Path()
            {
                Stroke          = Red,
                StrokeThickness = 1,
                Data            = tragwerk
            };

            // setz oben/links Position zum Zeichnen auf dem Canvas
            SetLeft(path, RandLinks);
            SetTop(path, randOben);
            // zeichne Shape
            visualErgebnisse.Children.Add(path);
            Verformungen.Add(path);
        }
        private async void PieSeries_Loaded(object sender, RoutedEventArgs e)
        {
            var            loader      = new Windows.ApplicationModel.Resources.ResourceLoader();
            MonatYearDaten datum       = new MonatYearDaten();
            Berechnung     berechnug   = new Berechnung();
            var            listBalance = new ObservableCollection <ListBalance>();
            var            balance     = new ObservableCollection <Balance>();

            //rechnet fur Piechart Prozent, Price und name
            balance = await berechnug.HomePageDatenSourceLoadedAsync(PieChartDaten, datum.Monat, datum.Year);

            if (balance.Count == 0)
            {
                var listView = new ListView();

                ListViewItem listItem = GetNotDaten();

                listView.IsItemClickEnabled = false;
                listView.Items.Add(listItem);
                dashboardChart1.Children.Add(listView);
            }
            else
            {
                //zeigt auf verschiedene Sprachen Cost und Incomen
                if (PieChartDaten == CategoryCostIncomen.Cost)
                {
                    TxtCostsIncomen.Text  = loader.GetString("TxtCostsHome");
                    pieSeries.ItemsSource = balance;
                }
                else
                {
                    TxtCostsIncomen.Text  = loader.GetString("TxtIncomesHome");
                    pieSeries.ItemsSource = balance;
                }
            }
            List <Brush> colorBrush = new List <Brush>();

            //Pie diagramm with customs color
            foreach (var item in balance)
            {
                //1 => Red
                if (item.Name == loader.GetString("Fixed"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 229, 20, 0)));
                }
                //2 => Braun
                else if (item.Name == loader.GetString("Foods"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 160, 80, 0)));
                }
                ////3 => Green
                else if (item.Name == loader.GetString("Salary"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 51, 153, 51)));
                }
                //4 => DarkKhaki	#BDB76B	189, 183, 107
                else if (item.Name == loader.GetString("Auto"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 189, 183, 107)));
                }
                //5 => HellGreen
                else if (item.Name == loader.GetString("OtherIncomes"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 162, 193, 57)));
                }
                //6 => DarkRed
                else if (item.Name == loader.GetString("Education"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 216, 0, 115)));
                }
                //7 => LightSeaGreen	#20B2AA	32, 178, 170
                else if (item.Name == loader.GetString("Apps"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 32, 178, 170)));
                }
                //8 => Violet
                else if (item.Name == loader.GetString("Vacation"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 162, 0, 255)));
                }
                //9 => Yellow
                else if (item.Name == loader.GetString("Entertainment"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 254, 190, 23)));
                }
                //10 => Grey
                else if (item.Name == loader.GetString("House"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 208, 179, 136)));
                }
                //11 => SandyBrown	#F4A460	244, 164, 96
                else if (item.Name == loader.GetString("Transport"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 244, 164, 96)));
                }
                //12 => Goldenrod	#DAA520	218, 165, 32
                else if (item.Name == loader.GetString("Private"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 218, 165, 32)));
                }
                //13 => Tomato	#FF6347	255, 99, 71
                else if (item.Name == loader.GetString("OtherCosts"))
                {
                    colorBrush.Add(new SolidColorBrush(Color.FromArgb(255, 255, 99, 71)));
                }
            }
            pieSeries.ColorModel.CustomBrushes = colorBrush;
        }
Example #23
0
        public void ArbeitsZeitTest()
        {
            // Tätigkeitsliste erstellen und jeweils zwei Einträge für Mitarbeiter 1 und Mitarbeiter 2 erstellen
            List <Taetigkeit> testTaetigkeiten = new List <Taetigkeit>();

            testTaetigkeiten.Add(new Taetigkeit()
            {
                AuftragID     = 1,
                MitarbeiterID = 1,
                TaetigkeitID  = 1,
                Datum         = new DateTime(2017, 12, 4),
                Name          = "Installation 1 M1",
                StartZeit     = new TimeSpan(21, 13, 0),
                EndZeit       = new TimeSpan(23, 54, 0)
            }
                                 );

            testTaetigkeiten.Add(new Taetigkeit()
            {
                AuftragID     = 2,
                MitarbeiterID = 1,
                TaetigkeitID  = 2,
                Datum         = new DateTime(2019, 9, 9),
                Name          = "Installation 2 M1",
                StartZeit     = new TimeSpan(13, 46, 0),
                EndZeit       = new TimeSpan(19, 32, 0)
            }
                                 );

            testTaetigkeiten.Add(new Taetigkeit()
            {
                AuftragID     = 3,
                MitarbeiterID = 2,
                TaetigkeitID  = 3,
                Datum         = new DateTime(2018, 5, 17),
                Name          = "Installation 1 M2",
                StartZeit     = new TimeSpan(5, 29, 0),
                EndZeit       = new TimeSpan(11, 28, 0)
            }
                                 );

            testTaetigkeiten.Add(new Taetigkeit()
            {
                AuftragID     = 2,
                MitarbeiterID = 2,
                TaetigkeitID  = 4,
                Datum         = new DateTime(2019, 1, 4),
                Name          = "Installation 2 M2",
                StartZeit     = new TimeSpan(17, 7, 0),
                EndZeit       = new TimeSpan(22, 56, 0)
            }
                                 );

            // Neues StundenDoc für Mitarbeiter 1 erstellen
            StundenDoc stundenDocM1 = new StundenDoc
            {
                Mitarbeiter = new Mitarbeiter
                {
                    MitarbeiterID = 1
                }
            };

            // Tätigkeistliste nach Mitarbeiter 1, Anfangs- und Enddatum filtern
            stundenDocM1.Tatlist = (from t in testTaetigkeiten where t.MitarbeiterID == stundenDocM1.Mitarbeiter.MitarbeiterID && t.Datum >= new DateTime(2017, 12, 4) && t.Datum <= new DateTime(2018, 10, 20) select t).ToList();

            // Neues StundenDoc für Mitarbeiter 2 erstellen
            StundenDoc stundenDocM2 = new StundenDoc
            {
                Mitarbeiter = new Mitarbeiter
                {
                    MitarbeiterID = 2
                }
            };

            // Tätigkeistliste nach Mitarbeiter 2, Anfangs- und Enddatum filtern
            stundenDocM2.Tatlist = (from t in testTaetigkeiten where t.MitarbeiterID == stundenDocM2.Mitarbeiter.MitarbeiterID && t.Datum >= new DateTime(2018, 5, 17) && t.Datum <= new DateTime(2019, 1, 4) select t).ToList();

            // Berechnung der Arbeitszeit überprüfen
            if (Berechnung.ArbeitsZeit(stundenDocM1) != 2.68)
            {
                Assert.Fail();
            }
            if (Berechnung.ArbeitsZeit(stundenDocM2) != 11.8)
            {
                Assert.Fail();
            }
        }