/// <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); }
/// <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); }
/// <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); }
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); }
/// <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); }
internal Faktura(Bokning bokning, double totalpris) { Bokning = bokning; Totalpris = totalpris; ÅterståendeSumma = totalpris; }