Example #1
0
        //Henter billettpris fra database og genererer et kjop
        public Billett LagBillett(int type, int antall, int startId, int stoppId)
        {
            var dbt          = new VyDbTilgang();
            var startStasjon = dbt.HentStasjon(startId);
            var stoppStasjon = dbt.HentStasjon(stoppId);
            //Henter km i luftlinje via lengde og breddegrad
            var     avstand = Klodeavstander.overflateDistanseJorda(startStasjon.breddegrad, startStasjon.lengdegrad, stoppStasjon.breddegrad, stoppStasjon.lengdegrad);
            Billett billett = new Billett();;
            int     sisteid = 1;

            //Må lage unik ID da posisjonen kan endre seg i tabell ved sletting
            if (HttpContext.Current.Session["Handlekurv"] is Handlekurv kurv &&
                kurv.Billetter != null &&
                kurv.Billetter.Count > 0)
            {
                sisteid  = kurv.Billetter[kurv.Billetter.Count - 1].Id;
                sisteid += 1;
            }
            billett.Passasjertype = dbt.Passasjertype(type);
            billett.Antall        = antall;
            billett.Pris          = dbt.HentPris().prisPrKm *avstand;
            if (billett.Passasjertype.rabatt != 0)
            {
                billett.Pris *= (billett.Passasjertype.rabatt / 100);
            }
            billett.Id   = sisteid;
            billett.Pris = Math.Round(billett.Pris, 2);
            return(billett);
        }