Beispiel #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,SchichtName,Tag,Start,Ende,Inhaber,Stunden")] Schicht schicht)
        {
            if (id != schicht.Id)
            {
                return(NotFound());
            }
            schicht.Stunden = (schicht.Ende.Ticks - schicht.Start.Ticks) / V;

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(schicht);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SchichtExists(schicht.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }
            return(View(schicht));
        }
Beispiel #2
0
        void SchichtSelected(Schicht schicht)
        {
            var parameters = new NavigationParameters {
                { "schicht", schicht }
            };

            if (schicht != null)
            {
                _regionManager.RequestNavigate("SchichtEditRegion", "SchichtEditView", parameters);
            }
        }
Beispiel #3
0
        public static bool Validieren(Schicht schicht, IList<Validierungsfehler> fehler, int okGrenzwert = int.MaxValue)
        {
            if (schicht == null) return false;
            if (schicht.GeldNachher < schicht.GeldVorher) fehler.Add(new Validierungsfehler { Meldung = "Schicht: nachher weniger Geld in der Kasse als vorher", Schwere = 1 });
            if (schicht.Trinkgeld < 0.0F) fehler.Add(new Validierungsfehler { Meldung = "Schicht: Trinkgeld negativ", Schwere = 1 });
            if (schicht.Abzaehlen < 0.0F) fehler.Add(new Validierungsfehler { Meldung = "Schicht: Abzählen negativ", Schwere = 1 });
            if (schicht.GeldNachher < schicht.GeldVorher) fehler.Add(new Validierungsfehler { Meldung = "Schicht: nachher weniger Geld in der Kasse als vorher", Schwere = 1 });
            if (schicht.Ende < schicht.Anfang) fehler.Add(new Validierungsfehler { Meldung = "Schicht: Ende liegt vor Anfang", Schwere = 0 });
            if (!schicht.Fahrzeuge.Any()) fehler.Add(new Validierungsfehler { Meldung = "Schicht: kein Fahrzeug", Schwere = 0 });
            if (!schicht.Fahrzeuge.All(p => p.Fahrten.Any())) fehler.Add(new Validierungsfehler { Meldung = "Fahrzeug: keine Fahrten", Schwere = 0 });
            if (schicht.Fahrzeuge.Any(p => p.Nummer == 0)) fehler.Add(new Validierungsfehler { Meldung = "Fahrzeug: Nummer ungültig", Schwere = 1 });
            if (Math.Round(schicht.Fahrzeuge.Sum(p => p.Preisdifferenz), 2) >= 0.01F) fehler.Add(new Validierungsfehler { Meldung = "Fahrzeug: Diff. zw. Uhr und Einzelfahrpreisen ist nicht 0.00 €", Schwere = 0 });

            return fehler.All(p => p.Schwere >= okGrenzwert);
        }
Beispiel #4
0
        public async Task <IActionResult> Create([Bind("Id,SchichtName,Tag,Start,Ende,Inhaber,Stunden")] Schicht schicht)
        {
            if (ModelState.IsValid)
            {
                schicht.Stunden = (schicht.Ende.Ticks - schicht.Start.Ticks) / V;

                _context.Add(schicht);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }


            return(View(schicht));
        }
Beispiel #5
0
        public static async Task <Schicht> LoadSchichtAsync(ISqlHandler Sql, int Id)
        {
            SqlDataSet Data = await Sql.SelectAllWhereAsync(Schicht.Table, Equal(Schicht.FieldId, Id));

            Schicht schicht = new Schicht();

            for (int j = 0; j < Data.FieldCount; j++)
            {
                string f = Data.FieldNames[j];
                object d = Data.GetRowData(j)[0];
                if (f == Schicht.FieldId)
                {
                    schicht.Id = (int)d;
                }
                else if (f == Schicht.FieldBezeichnung)
                {
                    schicht.Bezeichnung = (string)d;
                }
            }
            return(schicht);
        }
Beispiel #6
0
        private static void testMultizonen()
        {
            //1024,8*38*15 Kapazität Einrichtung 1024,8 * 38* Grundfläche
            Zone z1 = new Zone("z1", 15, 20, 584000, true, false, 22, false, 0, false, 25, false, 0, 23, 24);

            Schicht s1 = new Schicht("z1w1s1", "e", "z1w1s2", 0.01, 1500, 0.8, 1300, 6, 1, null, null, false, false);
            Schicht s2 = new Schicht("z1w1s2", "z1w1s1", "z1w1s3", 0.2, 1450, 0.04, 50, 6, 3, null, null, false, false);
            Schicht s3 = new Schicht("z1w1s3", "z1w1s2", "z1", 0.15, 1000, 2.3, 2300, 6, 1, null, null, false, false);

            Schicht s4 = new Schicht("z1w2s1", "z1", "z1", 0.15, 1000, 2.3, 2300, 15, 1, null, null, false, false);

            Schicht s5 = new Schicht("z1w3s1", "z1", "z1", 0.15, 1000, 2.3, 2300, 15, 1, null, null, false, false);

            Schicht s6 = new Schicht("z1w4s1", "z1", "z1", 0.15, 1000, 2.3, 2300, 15, 1, null, null, false, false);

            Schicht s7 = new Schicht("z1w5s1", "z1", "z1", 0.15, 1000, 2.3, 2300, 15, 1, null, null, true, false);

            Schicht s8 = new Schicht("z1w6s1", "z1", "z1", 0.15, 1000, 2.3, 2300, 15, 1, null, null, false, true);

            Fenster f1 = new Fenster("z1", 2, 1.5, 0.8, 0.5, 0.5);

            //mindestens 24 Werte
            //Infiltration: Gebäudevolumen*0,11
            Last l1 = new Last(0, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);
            Last l2 = new Last(1, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);
            Last l3 = new Last(2, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);
            Last l4 = new Last(3, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);
            Last l5 = new Last(4, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);
            Last l6 = new Last(5, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);

            Last l7  = new Last(6, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l8  = new Last(7, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l9  = new Last(8, 0, new ParameterDouble("z1", 1000), null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l10 = new Last(9, 0, new ParameterDouble("z1", 1000), null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l11 = new Last(10, 0, new ParameterDouble("z1", 1000), null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l12 = new Last(11, 0, new ParameterDouble("z1", 1000), null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l13 = new Last(12, 0, new ParameterDouble("z1", 1000), null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l14 = new Last(13, 0, new ParameterDouble("z1", 1000), null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l15 = new Last(14, 0, new ParameterDouble("z1", 1000), null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l16 = new Last(15, 0, new ParameterDouble("z1", 1000), null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l17 = new Last(16, 0, new ParameterDouble("z1", 1000), null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);
            Last l18 = new Last(17, 0, new ParameterDouble("z1", 1000), null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), new ParameterDouble("z1", 100), new ParameterDouble("z1", 150), new ParameterDouble("z1", 0), null);

            Last l19 = new Last(18, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);
            Last l20 = new Last(19, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);
            Last l21 = new Last(20, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);
            Last l22 = new Last(21, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);
            Last l23 = new Last(22, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);
            Last l24 = new Last(23, 0, null, null, new ParameterDouble("z1w1s1", 0), null, new ParameterDouble("z1w1s1", 4.5), null, null, new ParameterDouble("z1", 0), null);

            Params Parameter = new Params(10, 25, 10000, 2.5, 5, 0.7, 5, 0.1, 0.8, 0.5, 1, 0.7, 0.5, 4182, 0.8, 0.25, 1, 24);

            List <Zone> zonen = new List <Zone>();

            zonen.Add(z1);
            List <Fenster> fenster = new List <Fenster>();

            fenster.Add(f1);
            List <Schicht> schichten = new List <Schicht>();

            schichten.Add(s1);
            schichten.Add(s2);
            schichten.Add(s3);
            schichten.Add(s4);
            schichten.Add(s5);
            schichten.Add(s6);
            schichten.Add(s7);
            schichten.Add(s8);
            List <Last> lasten = new List <Last>();

            lasten.Add(l1);
            lasten.Add(l2);
            lasten.Add(l3);
            lasten.Add(l4);
            lasten.Add(l5);
            lasten.Add(l6);
            lasten.Add(l7);
            lasten.Add(l8);
            lasten.Add(l9);
            lasten.Add(l10);
            lasten.Add(l11);
            lasten.Add(l12);
            lasten.Add(l13);
            lasten.Add(l14);
            lasten.Add(l15);
            lasten.Add(l16);
            lasten.Add(l17);
            lasten.Add(l18);
            lasten.Add(l19);
            lasten.Add(l20);
            lasten.Add(l21);
            lasten.Add(l22);
            lasten.Add(l23);
            lasten.Add(l24);

            MultizoneServ test = new MultizoneServ(zonen, schichten, fenster, lasten);
            String        info;

            MultizoneServ.FailureMultizone f;
            test.executeMultizoneService(@"http://128.130.183.105:8001/calcShadow", out f, out info);
        }
Beispiel #7
0
        public static List <Wähler> Filtern(Form1.Parameter p)
        {
            List <Wähler> wl_link = new List <Wähler>();

            FileStream   fs9 = File.Open("us_wahl_liste.txt", FileMode.Open);
            StreamReader sr9 = new StreamReader(fs9);
            string       line;

            Geschlecht        geschlecht = Geschlecht.Default;
            Alter             alter      = Alter.Default;
            Schicht           schicht    = Schicht.Default;
            PolitischeHeimat  ph         = PolitischeHeimat.Default;
            Beeinflussbarkeit be         = Beeinflussbarkeit.Default;

            while ((line = sr9.ReadLine()) != null)
            {
                switch (line.Split(' ')[4])
                {
                case "Maenlich":
                    geschlecht = Geschlecht.Maenlich;
                    break;

                case "Weiblich":
                    geschlecht = Geschlecht.Weiblich;
                    break;
                }

                switch (line.Split(' ')[5])
                {
                case "Erstwaehler":
                    alter = Alter.Erstwaehler;
                    break;

                case "Bis30":
                    alter = Alter.Bis30;
                    break;

                case "Bis40":
                    alter = Alter.Bis40;
                    break;

                case "Bis50":
                    alter = Alter.Bis50;
                    break;

                case "Restliche":
                    alter = Alter.Restliche;
                    break;
                }

                switch (line.Split(' ')[6])
                {
                case "Unterschicht":
                    schicht = Schicht.Unterschicht;
                    break;

                case "Unteremittelschicht":
                    schicht = Schicht.Unteremittelschicht;
                    break;

                case "Oberemittelschicht":
                    schicht = Schicht.Oberemittelschicht;
                    break;

                case "Oberschicht":
                    schicht = Schicht.Oberschicht;
                    break;
                }

                switch (line.Split(' ')[7])
                {
                case "Demokraten":
                    ph = PolitischeHeimat.Demokraten;
                    break;

                case "Republikaner":
                    ph = PolitischeHeimat.Republikaner;
                    break;
                }

                switch (line.Split(' ')[8])
                {
                case "Leicht":
                    be = Beeinflussbarkeit.Leicht;
                    break;

                case "Mittel":
                    be = Beeinflussbarkeit.Mittel;
                    break;

                case "Schwer":
                    be = Beeinflussbarkeit.Schwer;
                    break;
                }


                wl_link.Add(new Wähler()
                {
                    ID                = line.Split(' ')[0],
                    Vorname           = line.Split(' ')[1],
                    Nachname          = line.Split(' ')[2],
                    PLZ               = line.Split(' ')[3],
                    Geschlecht        = geschlecht,
                    Alter             = alter,
                    Schicht           = schicht,
                    PolitischeHeimat  = ph,
                    Beeinflussbarkeit = be
                });
            }
            fs9.Close();

            var wl_link2 = from wähler in wl_link
                           where

                           wähler.PolitischeHeimat == p.PolitischeHeimat &&
                           wähler.Geschlecht == p.Geschlecht

                           //wähler.Alter == Alter.Erstwaehler &&
                           //wähler.Schicht == Schicht.OBERSCHICHT &&
                           //wähler.PLZ > 47111 &&
                           //wähler.PLZ < 80000 &&
                           //wähler.Beeinflussbarkeit == Beeinflussbarkeit.Leicht
                           select wähler;

            List <Wähler> ww = wl_link2.ToList();

            return(wl_link2.ToList());
        }
Beispiel #8
0
        private void LoadAsync(string txiFile)
        {
            var doc = XDocument.Load(txiFile);

            var shiftCount = doc.Element("Schichten").Descendants().Count();
            int verarb = 0;

            Schichten = new ObservableCollection<Schicht>();

            // Parallel.ForEach(doc.Element("Schichten").Elements("Schicht"), ig =>
            foreach (var ig in doc.Element("Schichten").Elements("Schicht"))
            {
                var i = ig;
                var schicht = new Schicht()
                                  {
                                      Index = i.AttValue<int>("Index"),
                                      AbrechnungFertig = i.AttValue<bool>("AbrechnungFertig"),
                                      Abgerechnet = i.AttValue<bool>("IstAbgerechnet"),
                                      Anfang = i.AttValue<DateTime>("Anfang"),
                                      Ende = i.AttValue<DateTime>("Ende"),
                                      GeldVorher = i.AttValue<float>("GeldVorher"),
                                      GeldNachher = i.AttValue<float>("GeldNachher"),
                                      GeliehenesWechselgeld = i.AttValue<float>("GeliehenesWechselgeld")
                                  };

                foreach (var j in i.Elements("Sonderausgabe"))
                {
                    schicht.Sonderausgaben.Add(j.AttValue<float>("Wert"));
                }

                foreach (var j in i.Elements("Privatausgabe"))
                {
                    var priv = new Privatausgabe { Index = j.AttValue<int>("Index"), Bemerkung = j.AttValue<string>("Bemerkung") ?? "n/a", Wert = j.AttValue<double>("Wert") };
                    schicht.Privatausgaben.Add(priv);
                }

                foreach (var n in i.Elements("Fahrzeug"))
                {
                    var fzg = new Fahrzeug
                                  {
                                      Index = n.AttValue<int>("Index"),
                                      Nummer = n.AttValue<int>("Nummer"),
                                      TotalAnfang = n.AttValue<Single>("TotalAnfang"),
                                      TotalEnde = n.AttValue<Single>("TotalEnde"),
                                      BesetztAnfang = n.AttValue<Single>("BesetztAnfang"),
                                      BesetztEnde = n.AttValue<Single>("BesetztEnde"),
                                      TourenAnfang = n.AttValue<int>("TourenAnfang"),
                                      TourenEnde = n.AttValue<int>("TourenEnde"),
                                      PreisAnfang = n.AttValue<Single>("EinnahmenAnfang"),
                                      PreisEnde = n.AttValue<Single>("EinnahmenEnde"),
                                  };

                    schicht.Fahrzeuge.Add(fzg);

                    foreach (var p in n.Elements("Fahrt"))
                    {
                        var _kmV = p.Attribute("km").Value;
                        var _km = (int?)p.AttValue<int>("km");
                        var _apesV = p.Attribute("APES").Value;
                        var _apes = (float?)p.AttValue<Single>("APES");
                        var _priceV = p.Attribute("Preis").Value;
                        var _price = (float?)p.AttValue<Single>("Preis");
                        var ft = new Fahrt
                                     {
                                         Index = p.AttValue<int>("Index"),
                                         Description = p.AttValue<string>("Bemerkung"),
                                         KM = (_kmV == "NULL") ? null : _km,
                                         APES = (_apesV == "NULL") ? null : _apes,
                                         Preis = (_priceV == "NULL") ? null : _price,
                                         Rechnungsfahrt = p.AttValue<bool>("IstRechnungsfahrt")
                                     };
                        this.OnProgress(ref verarb, shiftCount);
                        fzg.Fahrten.Add(ft);
                    }
                    this.OnProgress(ref verarb, shiftCount);
                }

                UIDispatcher.Invoke(new Action(() => this.Schichten.Add(schicht)));

                this.OnProgress(ref verarb, shiftCount);
            }
            int uoSIdx = 1;
            foreach (var item in Schichten.OrderBy(p => p.Anfang))
            {
                if (item.Index == 0)
                {
                    while (Schichten.Any(p => p.Index != 0 && p.Index == uoSIdx)) uoSIdx++;
                    item.Index = uoSIdx;
                    item.Parent = this;
                }
                item.ReindexVehicles();
            }
        }