//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); }