Пример #1
0
        public async Task <bool> EndreBestilling(int bestillingId, int nyAvgangId, int nyttAntall, int nyBrukerId)
        {
            try
            {
                Bestillinger endretBestilling = await _db.Bestillinger.FirstOrDefaultAsync(b => b.Id == bestillingId);

                if (endretBestilling != null)
                {
                    Avganger nyAvgang = await _db.Avganger.FirstOrDefaultAsync(a => a.Id == nyAvgangId);

                    Brukere nyBruker = await _db.Brukere.FirstOrDefaultAsync(b => b.Id == nyBrukerId);

                    if (nyAvgang != null && nyBruker != null)
                    {
                        endretBestilling.Avgang = nyAvgang;
                        endretBestilling.Antall = nyttAntall;
                        endretBestilling.Bruker = nyBruker;
                        await _db.SaveChangesAsync();

                        return(true);
                    }
                    return(false);
                }
                return(false);
            }
            catch
            {
                return(false);
            }
        }
Пример #2
0
        public async Task <bool> LagBestilling(int avgangId, int antall, int brukerId)
        {
            try
            {
                var nyBestillingRad = new Bestillinger();

                Avganger ValgtAvgang = await _db.Avganger.FindAsync(avgangId);

                Brukere ValgtBruker = await _db.Brukere.FindAsync(brukerId);

                if (ValgtAvgang != null)
                {
                    nyBestillingRad.Avgang = ValgtAvgang;
                    nyBestillingRad.Antall = antall;
                    nyBestillingRad.Bruker = ValgtBruker;

                    _db.Bestillinger.Add(nyBestillingRad);
                    await _db.SaveChangesAsync();

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                return(false);
            }
        }
Пример #3
0
        public async Task <bool> LagAvgang(int stasjonFraId, int stasjonTilId, string datoTid, int pris)
        {
            try
            {
                DateTime  gittDatoTid = DateTime.Parse(datoTid);
                Stasjoner stasjonFra  = await _db.Stasjoner.FindAsync(stasjonFraId);

                Stasjoner stasjonTil = await _db.Stasjoner.FindAsync(stasjonTilId);

                Avganger nyAvgang = new Avganger
                {
                    StasjonFra = stasjonFra,
                    StasjonTil = stasjonTil,
                    Dato       = gittDatoTid,
                    Pris       = pris
                };

                await _db.Avganger.AddAsync(nyAvgang);

                await _db.SaveChangesAsync();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Пример #4
0
        public async Task <bool> SlettAvgang(int avgangId)
        {
            try
            {
                Avganger slettAvgang = await _db.Avganger.FindAsync(avgangId);

                _db.Avganger.Remove(slettAvgang);
                await _db.SaveChangesAsync();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Пример #5
0
        //Generer avganger hver andre time for gitt strekning og dato.
        //Denne blir kalt hvis det ikke eksisterer noen avganger for gitt strekning og dato
        public async Task <bool> GenererAvganger(int stasjonFraId, int stasjonTilId, string dato)
        {
            try
            {
                Stasjoner stasjonFraValg = new Stasjoner();
                stasjonFraValg = _db.Stasjoner.Find(stasjonFraId);

                Stasjoner stasjonTilValg = new Stasjoner();
                stasjonTilValg = _db.Stasjoner.Find(stasjonTilId);

                //Lager DateTime objekt
                DateTime datetime = DateTime.Parse(dato);

                if (stasjonFraValg != null && stasjonTilValg != null)
                {
                    for (int i = 0; i < 24; i += 2)
                    {
                        //Ny avgang
                        Avganger nyAvgangRad = new Avganger
                        {
                            StasjonFra = stasjonFraValg,
                            StasjonTil = stasjonTilValg,
                            Dato       = datetime.AddHours(i),
                            Pris       = 200
                        };
                        _db.Avganger.Add(nyAvgangRad);
                    }
                    await _db.SaveChangesAsync();

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                return(false);
            }
        }
Пример #6
0
        public async Task <bool> EndreAvgang(int avgangId, string datoTid, int pris)
        {
            try
            {
                DateTime gittDatoTid  = DateTime.Parse(datoTid);
                Avganger endretAvgang = await _db.Avganger.FirstOrDefaultAsync(a => a.Id == avgangId);

                if (endretAvgang != null)
                {
                    endretAvgang.Dato = gittDatoTid;
                    endretAvgang.Pris = pris;
                    await _db.SaveChangesAsync();

                    return(true);
                }
                return(false);
            }
            catch
            {
                return(false);
            }
        }
Пример #7
0
        public static void Initialize(IServiceScope serviceScope)
        {
            var context = serviceScope.ServiceProvider.GetService <BestillingContext>();

            // må slette og opprette databasen hver gang n?r den skalinitieres (seed`es)
            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();



            var stasjonerList = new List <Stasjoner>
            {
                new Stasjoner {
                    StasjonsNavn = "Oslo", NummerPaaStopp = int.Parse("1")
                },
                new Stasjoner {
                    StasjonsNavn = "Sandvika", NummerPaaStopp = int.Parse("2")
                },
                new Stasjoner {
                    StasjonsNavn = "Asker", NummerPaaStopp = int.Parse("3")
                },
                new Stasjoner {
                    StasjonsNavn = "Drammen", NummerPaaStopp = int.Parse("4")
                },
                new Stasjoner {
                    StasjonsNavn = "Skoger", NummerPaaStopp = int.Parse("5")
                },
                new Stasjoner {
                    StasjonsNavn = "Sande", NummerPaaStopp = int.Parse("6")
                },
                new Stasjoner {
                    StasjonsNavn = "Holmestrand", NummerPaaStopp = int.Parse("7")
                },
                new Stasjoner {
                    StasjonsNavn = "Kopstadkrysset", NummerPaaStopp = int.Parse("8")
                },
                new Stasjoner {
                    StasjonsNavn = "Horten", NummerPaaStopp = int.Parse("9")
                }
            };

            var avgang1 = new Avganger
            {
                Fra = stasjonerList[0].StasjonsNavn,
                Til = stasjonerList[1].StasjonsNavn,
                Tid = "07:00"
            };
            var avgang2 = new Avganger
            {
                Fra = stasjonerList[3].StasjonsNavn,
                Til = stasjonerList[4].StasjonsNavn,
                Tid = "08:00"
            };

            var avgang3 = new Avganger
            {
                Fra = stasjonerList[5].StasjonsNavn,
                Til = stasjonerList[6].StasjonsNavn,
                Tid = "11:00"
            };
            var avgang4 = new Avganger
            {
                Fra = stasjonerList[7].StasjonsNavn,
                Til = stasjonerList[8].StasjonsNavn,
                Tid = "12:00"
            };

            var avgang5 = new Avganger
            {
                Fra = stasjonerList[0].StasjonsNavn,
                Til = stasjonerList[1].StasjonsNavn,
                Tid = "14:00"
            };
            var avgang6 = new Avganger
            {
                Fra = stasjonerList[3].StasjonsNavn,
                Til = stasjonerList[4].StasjonsNavn,
                Tid = "15:00"
            };

            var avgang7 = new Avganger
            {
                Fra = stasjonerList[5].StasjonsNavn,
                Til = stasjonerList[6].StasjonsNavn,
                Tid = "18:00"
            };
            var avgang8 = new Avganger
            {
                Fra = stasjonerList[7].StasjonsNavn,
                Til = stasjonerList[8].StasjonsNavn,
                Tid = "21:00"
            };

            var bestilling1 = new Bestillinger {
                Fra = "Oslo", Til = "Drammen", Tid = "07:00", Pris = double.Parse("50"), Dato = "2021-01-13"
            };
            var bestilling2 = new Bestillinger {
                Fra = "Drammen", Til = "Horten", Tid = "08:00", Pris = double.Parse("50"), Dato = "2021-02-20"
            };

            foreach (Stasjoner s in stasjonerList)
            {
                context.Stasjoner.Add(s);
            }

            /*
             * context.Stasjoner.Add(stasjon1);
             * context.Stasjoner.Add(stasjon2);
             * context.Stasjoner.Add(stasjon3);
             */
            context.Avganger.Add(avgang1);
            context.Avganger.Add(avgang2);
            context.Bestillinger.Add(bestilling1);
            context.Bestillinger.Add(bestilling2);

            var db = serviceScope.ServiceProvider.GetService <BestillingContext>();

            var adminBruker = new Brukere();

            adminBruker.Brukernavn = "Admin1";
            string passord = "Passord1";


            byte[] salt = BrukerRepository.Salt();
            byte[] hash = BrukerRepository.Hash(passord, salt);

            adminBruker.Passord = hash;
            adminBruker.Salt    = salt;

            db.Brukere.Add(adminBruker);


            context.SaveChanges();
        }