Beispiel #1
0
        public async Task <ActionResult <Kombi> > PostKombi(Kombi kombi)
        {
            _context.Kombis.Add(kombi);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetKombi", new { id = kombi.KombiId }, kombi));
        }
Beispiel #2
0
        static void undervisning()
        {
            Noget noget = Noget.Noget3 | Noget.Noget1;

            Kombi kombi = Kombi.Dum | Kombi.Høj;

            Console.WriteLine(noget);

            Console.WriteLine(kombi + " har bitværdi " + (byte)kombi);

            kombi = (Kombi)(((byte)kombi) << 2); //bitshift som rykker placeringen 2 pladser til venstre
            Console.WriteLine(kombi + " har bitværdi " + (byte)kombi);

            kombi = (Kombi)(((byte)kombi) << 2); //bitshift som rykker placeringen 2 pladser til venstre
            Console.WriteLine(kombi + " har bitværdi " + (byte)kombi);

            Console.WriteLine((Kombi)7 + " har bitværdi " + (byte)kombi);

            FileAttributes f = FileAttributes.Hidden | FileAttributes.ReadOnly;

            Console.WriteLine(f + " har bitværdi " + (int)f);

            for (int i = 0; i < 256; i++)
            {
                Console.WriteLine();
            }

            //foreach (int element in F)

            Console.ReadLine();
        }
Beispiel #3
0
        public async Task <IActionResult> PutKombi(string id, Kombi kombi)
        {
            if (id != kombi.KombiId)
            {
                return(BadRequest());
            }

            _context.Entry(kombi).State = EntityState.Modified;

            try {
                await _context.SaveChangesAsync();
            } catch (DbUpdateConcurrencyException) {
                if (!KombiExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(kombi));
        }
        public void Berecne(
            ModuleRampAgregatioon[] MengeVorherigeZuBerüksictige)
        {
            Int64[] ListeGescwindigkaitMikro = null;
            Int64?  GescwindigkaitMikro      = null;
            Int64?  NuldurcgangZaitMili      = null;

            SictWertMitZait <int>[] AingangListeZuZaitRampRotatioonMiliFiltertNaacVorherige        = null;
            SictWertMitZait <int>[] FürGescwindigkaitMengeZuScnapscusZaitpunktMengeAuslasungAnzaal = null;
            SictWertMitZait <int>[] ZuZaitpunktMengeAuslasungAnzaalOrdnet = null;

            try
            {
                var AingangListeZuZaitMiliRampRotatioonMili = this.AingangListeZuZaitMiliRampRotatioonMili;
                var GescwindigkaitScrankeMili = this.GescwindigkaitScrankeMili;

                if (null == AingangListeZuZaitMiliRampRotatioonMili)
                {
                    return;
                }

                if (GescwindigkaitScrankeMili < 1)
                {
                    return;
                }

                var AingangListeScnapscusZait =
                    AingangListeZuZaitMiliRampRotatioonMili
                    .Select((ZuZaitMiliRampRotatioonMili) => ZuZaitMiliRampRotatioonMili.Zait)
                    .ToArrayNullable();

                AingangListeZuZaitRampRotatioonMiliFiltertNaacVorherige =
                    FilterMitBerüksictigungVorherige(
                        AingangListeZuZaitMiliRampRotatioonMili,
                        MengeVorherigeZuBerüksictige,
                        5,
                        7,
                        out ZuZaitpunktMengeAuslasungAnzaalOrdnet);

                var ListeDiferenzZwisceScnapscusVorFilter =
                    ModuleRampAgregatioon.ListeDiferenzZwisceScnapscusBerecne(AingangListeZuZaitRampRotatioonMiliFiltertNaacVorherige, 1)
                    .Concat(ModuleRampAgregatioon.ListeDiferenzZwisceScnapscusBerecne(AingangListeZuZaitRampRotatioonMiliFiltertNaacVorherige, 2))
                    //.Concat(ModuleRampAgregatioon.ListeGescwindigkaitMikroBerecne(AingangListeZuZaitRampRotatioonMili, 3))
                    .ToArray();

                var ListeDiferenzZwisceScnapscus =
                    ListeDiferenzZwisceScnapscusVorFilter
                    .Where((Diferenz) => - GescwindigkaitScrankeMili * 1000 <= Diferenz.GescwindigkaitMikro && Diferenz.GescwindigkaitMikro <= GescwindigkaitScrankeMili * 1000)
                    .ToArray();

                var VorAuslasungMengeZuScnapscusZaitMengeVerwendungAnzaal =
                    MengeZuScnapscusZaitVerwendungAnzaal(AingangListeScnapscusZait, ListeDiferenzZwisceScnapscus);

                ListeGescwindigkaitMikro =
                    ListeDiferenzZwisceScnapscus
                    .Select((Diferenz) => Diferenz.GescwindigkaitMikro)
                    .ToArrayNullable();

                if (!(0 < ListeGescwindigkaitMikro.CountNullable()))
                {
                    return;
                }

                var MengeKombiListeGescwindigkaitMikro =
                    Bib3.Kombinatoorik.MengeKombinatioonTailmengeOoneOrdnung(
                        ListeDiferenzZwisceScnapscus,
                        Math.Max(5, Math.Max(ListeGescwindigkaitMikro.Length - 2, (ListeGescwindigkaitMikro.Length * 2) / 3 + 1)));

                if (!(1 < MengeKombiListeGescwindigkaitMikro.CountNullable()))
                {
                    return;
                }

                var MengeKombiErgeebnisGescwindigkaitUndDistanzAgr =
                    MengeKombiListeGescwindigkaitMikro
                    .Select((Kombi, KombiIndex) =>
                {
                    Int64 DistanzAgregatioon;

                    var Gescwindigkait = Fiting.Fit1DMitKomponenteExponent(
                        Kombi.Select((KombiElement) => KombiElement.GescwindigkaitMikro).ToArrayNullable(), 100, out DistanzAgregatioon);

                    if (!Gescwindigkait.HasValue)
                    {
                        DistanzAgregatioon = Int64.MaxValue;
                    }

                    return(new      KeyValuePair <DiferenzZwisceScnapscus[], KeyValuePair <Int64, Int64> >(
                               Kombi,
                               new     KeyValuePair <Int64, Int64>(Gescwindigkait ?? Int64.MinValue, DistanzAgregatioon)));
                })
                    .ToArray();

                var MengeKombiErgeebnisGescwindigkaitUndDistanzAgrBeste =
                    MengeKombiErgeebnisGescwindigkaitUndDistanzAgr
                    .OrderBy((Kandidaat) => Kandidaat.Value.Value)
                    .FirstOrDefault();

                /*
                 * 2014.09.25
                 *
                 * var NaacAuslasungMengeZuScnapscusZaitMengeVerwendungAnzaal =
                 *      MengeZuScnapscusZaitVerwendungAnzaal(AingangListeScnapscusZait, MengeKombiErgeebnisGescwindigkaitUndDistanzAgrBeste.Key);
                 *
                 * FürGescwindigkaitMengeZuScnapscusZaitpunktMengeAuslasungAnzaal =
                 *      AingangListeScnapscusZait
                 *      .Select((KandidaatScnapscusZait) =>
                 *              new	SictWertMitZait<int>(
                 *                      KandidaatScnapscusZait,
                 *                      VorAuslasungMengeZuScnapscusZaitMengeVerwendungAnzaal.FirstOrDefault((t) => t.Zait	== KandidaatScnapscusZait).Wert	-
                 *                      NaacAuslasungMengeZuScnapscusZaitMengeVerwendungAnzaal.FirstOrDefault((t) => t.Zait	== KandidaatScnapscusZait).Wert))
                 *      .Where((Kandidaat) => 0 < Kandidaat.Wert)
                 *      .ToArray();
                 * */

                GescwindigkaitMikro =
                    MengeKombiErgeebnisGescwindigkaitUndDistanzAgrBeste.Value.Key;

                if (!GescwindigkaitMikro.HasValue)
                {
                    return;
                }

                /*
                 * 2014.09.27
                 *
                 * var	FilterGescwindigkaitMikroScrankeMin	= (GescwindigkaitMikro * 7) / 10;
                 * var	FilterGescwindigkaitMikroScrankeMax	= (GescwindigkaitMikro * 13) / 10;
                 * */
                var FilterGescwindigkaitMikroScrankeMin = GescwindigkaitMikro / 2;
                var FilterGescwindigkaitMikroScrankeMax = GescwindigkaitMikro * 2;

                var ListeDiferenzZwisceScnapscusFilterNaacGescwindigkaitErgeebnis =
                    ListeDiferenzZwisceScnapscus
                    .Where((Kandidaat) =>
                           FilterGescwindigkaitMikroScrankeMin <= Kandidaat.GescwindigkaitMikro &&
                           Kandidaat.GescwindigkaitMikro <= FilterGescwindigkaitMikroScrankeMax)
                    .ToArray();

                var NaacAuslasungMengeZuScnapscusZaitMengeVerwendungAnzaal =
                    MengeZuScnapscusZaitVerwendungAnzaal(AingangListeScnapscusZait, ListeDiferenzZwisceScnapscusFilterNaacGescwindigkaitErgeebnis);

                FürGescwindigkaitMengeZuScnapscusZaitpunktMengeAuslasungAnzaal =
                    AingangListeScnapscusZait
                    .Select((KandidaatScnapscusZait) =>
                            new SictWertMitZait <int>(
                                KandidaatScnapscusZait,
                                VorAuslasungMengeZuScnapscusZaitMengeVerwendungAnzaal.FirstOrDefault((t) => t.Zait == KandidaatScnapscusZait).Wert -
                                NaacAuslasungMengeZuScnapscusZaitMengeVerwendungAnzaal.FirstOrDefault((t) => t.Zait == KandidaatScnapscusZait).Wert))
                    .Where((Kandidaat) => 0 < Kandidaat.Wert)
                    .ToArray();

                if (0 == GescwindigkaitMikro)
                {
                    return;
                }

                {
                    var ZyyklusDauerMili = (Int64)(1e+9) / GescwindigkaitMikro.Value;

                    var UmbrucRegioonBegin = (AingangListeZuZaitMiliRampRotatioonMili.Last().Zait - ZyyklusDauerMili / 2);
                    var UmbrucRegioonEnde  = UmbrucRegioonBegin + ZyyklusDauerMili;

                    var MengeKandidaatNuldurcgangZaitMili =
                        AingangListeZuZaitMiliRampRotatioonMili
                        .Select((ZuZaitMiliRampRotatioonMili) =>
                                ((ZuZaitMiliRampRotatioonMili.Zait - (ZuZaitMiliRampRotatioonMili.Wert * 1000000 / GescwindigkaitMikro.Value))
                                 .SictUmgebrocen(UmbrucRegioonBegin, UmbrucRegioonEnde)))
                        .ToArray();

                    NuldurcgangZaitMili = Fiting.Fit1DMitKomponenteExponent(MengeKandidaatNuldurcgangZaitMili, 100);
                }
            }
            finally
            {
                this.ListeGescwindigkaitMikro = ListeGescwindigkaitMikro;
                this.ZuZaitpunktMengeAuslasungAnzaalOrdnet = ZuZaitpunktMengeAuslasungAnzaalOrdnet;
                this.AingangListeZuZaitRampRotatioonMiliFiltertNaacVorherige = AingangListeZuZaitRampRotatioonMiliFiltertNaacVorherige;
                this.GescwindigkaitMikro = GescwindigkaitMikro;
                this.NuldurcgangZaitMili = NuldurcgangZaitMili;
                this.FürGescwindigkaitMengeZuScnapscusZaitpunktMengeAuslasungAnzaal = FürGescwindigkaitMengeZuScnapscusZaitpunktMengeAuslasungAnzaal;
            }
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            Voznik voznik1 = new Voznik("Tilen", "Cokan", Spol.M, new DateTime(1997, 6, 22), new DateTime(2018, 6, 22));

            Potnik potnik1 = new Potnik("Teja", "Kolar", Spol.Z, new DateTime(1997, 5, 20), "*****@*****.**", Status.Student);

            Potnik potnik2 = new Potnik("Tomaž", "Kolar", Spol.M, new DateTime(1989, 12, 5), "*****@*****.**", Status.Student);

            Potnik potnik3 = new Potnik("Matej", "Kolar", Spol.M, new DateTime(1991, 7, 3), "*****@*****.**", Status.Student);

            Potnik potnik4 = new Potnik("Gregor", "Kranjc", Spol.M, new DateTime(1950, 7, 3), "*****@*****.**", Status.Upokojenec);

            Potnik potnik5 = new Potnik("Urška", "Kranjc", Spol.Z, new DateTime(2005, 5, 3), "*****@*****.**", Status.Otrok);

            Avtomobil avto1 = new Avtomobil(voznik1, "mazda", "limuzina", 5.7, 50, 5, 2);

            Kombi kombi1 = new Kombi(voznik1, "mercedes", "kombi", 9.5, 80, 500, 1000);

            Avtobus bus1 = new Avtobus(voznik1, "MAN", "avtobus", 20, 120, 51, 20, 40);

            Dictionary <string, Potnik> seznamOseb = new Dictionary <string, Potnik>();

            Termin termin1 = new Termin(new DateTime(2018, 5, 10, 6, 0, 0), new DateTime(2018, 5, 19, 23, 0, 0), bus1, seznamOseb);

            Termin termin2 = new Termin(new DateTime(2018, 6, 10, 6, 0, 0), new DateTime(2018, 6, 18, 23, 0, 0), bus1, seznamOseb);

            List <Termin> termini = new List <Termin>();

            Izlet izlet1 = new Izlet("Nizozemska", 480.50, "Celje", termini);

            izlet1.DodajTermin(termin1);

            Izlet izlet2 = new Izlet("Belgija", 600, "Maribor", termini);

            izlet2.DodajTermin(termin2);

            izlet1.ProdajKarto(termin1, potnik1);

            izlet1.ProdajKarto(termin1, potnik2);

            izlet1.ProdajKarto(termin1, potnik3);

            izlet2.ProdajKarto(termin2, potnik4);

            izlet2.ProdajKarto(termin2, potnik5);

            izlet1.PrekličiKarto(termin1, potnik3);

            izlet2.DodajTermin(termin1);


            List <Potnik> potniki = new List <Potnik>();

            Potovanje.preberiSeznamCSV(potniki);

            var poisciKnez = potniki.Find(x => x.priimek.Equals("Knez"));

            Console.WriteLine(poisciKnez.ime + " " + poisciKnez.priimek + " " + poisciKnez.spol + " " + poisciKnez.status + " " + poisciKnez.datumRojstva + " " + poisciKnez.email);
            if (poisciKnez != null)
            {
                potniki.Remove(poisciKnez);
            }

            var poisciNajstarejsoOsebo = potniki.Find(x => x.datumRojstva == potniki.Min(y => y.datumRojstva));

            Console.WriteLine("Najstarejsi potnik: " + poisciNajstarejsoOsebo.ime + " " + poisciNajstarejsoOsebo.priimek + " " + poisciNajstarejsoOsebo.spol + " " + poisciNajstarejsoOsebo.status + " " + poisciNajstarejsoOsebo.datumRojstva + " " + poisciNajstarejsoOsebo.email);
            if (poisciNajstarejsoOsebo != null)
            {
                potniki.Remove(poisciNajstarejsoOsebo);
            }

            var dodajOsebo = new Potnik(potnik1.ime, potnik1.priimek, potnik1.spol, potnik1.datumRojstva, potnik1.email, potnik1.status);

            potniki.Add(dodajOsebo);
            Console.WriteLine(dodajOsebo.MojIzpis());

            Termin terminOtroci     = new Termin(new DateTime(2018, 6, 20, 7, 0, 0), new DateTime(2018, 6, 27, 22, 0, 0), bus1, new Dictionary <string, Potnik>());
            Termin terminStudenti   = new Termin(new DateTime(2018, 7, 20, 7, 0, 0), new DateTime(2018, 6, 27, 22, 0, 0), bus1, new Dictionary <string, Potnik>());
            Termin terminUpokojenci = new Termin(new DateTime(2018, 8, 20, 7, 0, 0), new DateTime(2018, 6, 27, 22, 0, 0), bus1, new Dictionary <string, Potnik>());

            Izlet izlet = new Izlet("Portugalska", 1200, "Celje", new List <Termin> {
                terminOtroci, terminStudenti, terminUpokojenci
            });

            List <Potnik> otroci = potniki.FindAll(x => x.status == Status.Otrok);

            otroci = otroci.OrderBy(x => x.priimek).ToList();
            terminOtroci.PrijavljeniPotniki = otroci.ToDictionary(x => x.email);

            List <Potnik> studenti = potniki.FindAll(y => y.status == Status.Student);

            studenti = studenti.OrderBy(y => y.priimek).ToList();
            terminStudenti.PrijavljeniPotniki = studenti.ToDictionary(y => y.email);

            List <Potnik> upokojenci = potniki.FindAll(z => z.status == Status.Upokojenec);

            upokojenci = upokojenci.OrderBy(z => z.priimek).ToList();
            terminUpokojenci.PrijavljeniPotniki = upokojenci.ToDictionary(z => z.email);

            Potovanje.zapisiVSeznamCSV(izlet);

            double povprečnaStarost = potniki.Average(popotnik => 2018 - popotnik.datumRojstva.Year);

            Console.WriteLine("Povprečna starost potnikov je: {0:0.00}", povprečnaStarost);

            List <Potnik> seznamPonikov = Potovanje.VrniPotnikeGledeNaStatus(Status.Otrok, potniki);

            for (int i = 0; i < seznamPonikov.Count; i++)
            {
                Console.WriteLine(seznamPonikov[i].ime + " " + seznamPonikov[i].priimek + " " + seznamPonikov[i].spol + " " + seznamPonikov[i].datumRojstva + " " + seznamPonikov[i].email + " " + seznamPonikov[i].status);
            }
        }