示例#1
0
        /// <summary>
        /// Denna metod tar emot ett index från användare och avslutar vald bokning. Beronde på om den blivit försenad eller inte så kommer det skapas en faktura.
        /// </summary>
        /// <param name="bokning"></param>
        /// <returns></returns>
        public Bokning AvslutaBokning(Bokning bokning)
        {
            // Här skickas in en referens och ett index till en vald bokning från UI:t som oavsett får status Återlämnad.
            // En bok får status tillgänglig också.
            // Vid de fall en bok är försenad genomförs en matematisk uträkning på totalbelopp, samt att en faktura skapas.
            // Om en bok lämnas tillbaka i tid, skapas dock ingen faktura eftersom det är meningslöst att skapa fakturor med ett belopp på 0:-

            DialogResult svar = MessageBox.Show("Är boken återlämnad?", "Varning!", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

            if (svar == DialogResult.Yes)
            {
                bokning.Återlämnad      = true;
                bokning.Utlämnad        = false;
                bokning.Bok.Tillgänglig = true;
                if (DateTime.Now > bokning.Sluttid)
                {
                    SkapaFaktura(bokning);
                }
                MessageBox.Show("Boken är återlämnad", "Notis", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Du måste ta boken i retur innan du kan avsluta bokningen!", "Varning!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(bokning);
        }
示例#2
0
        /// <summary>
        /// Skapar en ny bokning med ett låneintervall på 30 dagar.
        /// </summary>
        /// <param name="bok"></param>
        /// <param name="medlem"></param>
        public void LäggTillBokning(Bok bok, Medlem medlem)
        {
            Bokning bokning = new Bokning(++bokningsnummer, bok, medlem, DateTime.Now, DateTime.Now.AddDays(30));

            bok.Tillgänglig = false;
            libraryData.bokningsRepository.Tabell.Add(bokning);
            MessageBox.Show("Bokning är sparad!", "Meddelande", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
示例#3
0
        /// <summary>
        /// Skapar en faktura endast om en bokning passerat 30 dagar.
        /// </summary>
        /// <param name="bokning"></param>
        /// <param name="totalpris"></param>
        public void SkapaFaktura(Bokning bokning)
        {
            double  totalpris = Math.Floor((DateTime.Now.Date - bokning.Sluttid).TotalDays * 10);
            Faktura faktura   = new Faktura(bokning, totalpris);

            bokning.Faktura = faktura;
            MessageBox.Show("Bokningen var försenad och en faktura har skapats.", "Reprimand!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
示例#4
0
 public Bokning GeUtBokning(Bokning valdBokning)
 {
     if (valdBokning.Utlämnad)
     {
         MessageBox.Show("Boken är redan utlämnad!", "Notis", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     else
     {
         valdBokning.Utlämnad = true;
         MessageBox.Show($"Bokning utlämnad med bokningsnummer: {valdBokning.Bokningsnummer}", "Information");
     }
     return(valdBokning);
 }
示例#5
0
 /// <summary>
 /// Tar bort en boknig vid de fall en bokning blivit fel eller att man ångrat sig.
 /// </summary>
 public Bokning TaBortBokning(Bokning valdBokning)
 {
     if (DateTime.Now > valdBokning.Sluttid || valdBokning.Utlämnad == true)
     {
         MessageBox.Show("Du får inte ta bort en bokning som är försenad eller utlämnad!", "Varning!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
     else
     {
         valdBokning.Återlämnad      = true;
         valdBokning.Bok.Tillgänglig = true;
         MessageBox.Show("Bokningen har blivit borttagen!", "Notis", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     return(valdBokning);
 }
示例#6
0
 internal Faktura(Bokning bokning, double totalpris)
 {
     Bokning          = bokning;
     Totalpris        = totalpris;
     ÅterståendeSumma = totalpris;
 }