Esempio n. 1
0
        /// <summary>
        /// Konstruktören för FormBoka-formen, här börjar koden från FormBoka.
        /// Här initalieras alla komponenter och kund objektet sparas som global variabel för formen.
        /// 
        /// Här tas även bilarna fram och sparas i Listan kundbilar.
        /// </summary>
        /// <param name="anvandare">Kund objektet för den som bokar</param>
        public FormBoka(kund anvandare)
        {
            InitializeComponent();
            SqlCeDatabase db = new SqlCeDatabase();
            bil_objekt bil = new bil_objekt();
            this.anvandare = anvandare;
            List<string> kundBilar = new List<string>();

            // Kolla efter bilar registrerade till kunden / användaren.
            if (bil.kollaKundsBilar(anvandare,"reg") == 2)
            {
                if (DEBUG)
                    richTextBoxBokningMeny.Text = "Något är fel med kollaKundsBilar-funktionen i bil_objekt.cs";
            }
            else if (bil.kollaKundsBilar(anvandare) == 0)
            {
                kundBilar.AddRange(bil.GetTmpMsgs());
                this.kundHarReggadBil = true;
            }

            // Lägg till en rad "Ny bil..." och lägg till bilarna till regnr-comboboxens datasource
            kundBilar.Add("Ny bil...");
            comboBoxReg.DataSource = kundBilar;

            // Fixar så man bara kan välja ett datum i monthCalendar1.
            monthCalendar1.MaxSelectionCount = 1;
            panelTider.Hide();
            buttonBoka.Hide();

            richTextBoxBokningMeny.Text = "Tryck på Ny bokning för att göra en ny bokning.\nTryck på Mina Bokningar för att se vad du har bokat och när.";
            if (DEBUG)
            {
                richTextBoxBokningMeny.Text += "\nNamn: " + anvandare.GetNamn();
                richTextBoxBokningMeny.Text += "\nEmail: " + anvandare.GetEmail();
                richTextBoxBokningMeny.Text += "\nPersonnummer: " + anvandare.GetPersonnummer();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// KollaKundsBilar: Kollar efter kunders bilar och returnerar bara regnumret
        /// </summary>
        /// <param name="anvandare">Kundens kundobjekt</param>
        /// <param name="what">Vad som ska frågas efter i Select-satsen</param>
        /// <returns>Returnerar ett intvärde
        /// 0 - om funktion slutfördes utan problem
        /// 1 - Inga bilar fanns
        /// 2 - Fel vid frågeformuleringen</returns>
        public int kollaKundsBilar(kund anvandare, string what)
        {
            SqlCeDatabase db = new SqlCeDatabase();

            string regQuery = "SELECT ?x? FROM fordon WHERE agare='?x?'";
            string[] args = { what, anvandare.GetPersonnummer() };

            int queryResultat = db.query(regQuery, args);
            if (queryResultat == 0)
            {
                string[] fetchResultat = db.fetch();

                if (fetchResultat.Length < 1)
                {
                    this.tmpMsgs = db.GetTmpMsgs();
                    return 1;
                }
                else
                {
                    this.tmpMsgs = fetchResultat;
                    return 0;
                }
            }
            this.tmpMsgs = db.GetTmpMsgs();
            return 2;
        }
Esempio n. 3
0
        /// <summary>
        /// Hämtar alla bilar som är registrerade på kunden och sparar dem i tmpMsgs.
        /// För att hämta arrayen med bilar kör getTmpMgsg.
        /// </summary>
        /// <param name="anvandare">Kunden som bilarna är registrerade på</param>
        /// <returns>Returnerar en returnkod som int-värde.
        /// 0 - Inga fel uppstod
        /// 1 - Inga bilar funna
        /// 2 - Fel vid frågeformuleringen</returns>
        public int kollaKundsBilar(kund anvandare)
        {
            SqlCeDatabase db = new SqlCeDatabase();

            string regQuery = "SELECT reg, marke, modell, arsmodell FROM fordon WHERE agare='?x?'";
            string[] args = { anvandare.GetPersonnummer() };

            int queryResultat = db.query(regQuery, args);
            if (queryResultat == 0)
            {
                SortedList<string,string>[] fetchResultat = db.fetchAllList();

                if (fetchResultat.Length < 1)
                {
                    this.tmpMsgs = db.GetTmpMsgs();
                    return 1;
                }
                else
                {
                    this.tmpMsgsArray = fetchResultat;
                    return 0;
                }
            }
            this.tmpMsgs = db.GetTmpMsgs();
            return 2;
        }
Esempio n. 4
0
        /// <summary>
        /// Denna funktion lägger till ett fordon i registret. 
        /// Den använder sig av klassen SqlCeDatabase för att ansluta till en kompakt MSSQL-server/fil.
        /// </summary>
        /// <param name="reg">Regnumret på bilen.</param>
        /// <param name="fnamn">Förnamnet på ägaren.</param>
        /// <param name="enamn">Efternamnet på ägaren.</param>
        /// <param name="modell">Modellen på bilen</param>
        /// <param name="arsmodell">Årsmodellen på bilen</param>
        /// <param name="marke">Märket på bilen</param>
        /// <returns>Returnerar returnkod som int.
        /// 0 - Operationen slutfördes utan problem
        /// 1 - Fel vid fordonsregistreringen
        /// 2 - Fel vid frågeformuleringen</returns>
        public int insertFordon(string reg, string modell, string arsmodell, string marke, kund anvandare)
        {
            SqlCeDatabase db = new SqlCeDatabase();
            List<string> resultat = new List<string>();
            List<string> errorMsgs = new List<string>();
            string agare = anvandare.GetPersonnummer();
            string queryNyBil = "INSERT INTO Fordon" +
                "(reg, modell, arsmodell, marke, agare) " +
                " values ('?x?','?x?','?x?','?x?','?x?')";

            string[] argsNyBil = new string[5] { reg, modell, arsmodell, marke, agare };
            int queryResultat = db.query(queryNyBil, argsNyBil);                   // Skapar en string-array av resultatet från db.query() för att kunna använda i jämförelser och returns
            int returnkod;
            if (queryResultat == 0)
            {
                int operationResultat = db.operation();                            // Skapar en string-array av resultatet från db.operation() för att kunna använda i jämförelser och returns
                if (operationResultat == 0)
                {
                    returnkod = 0;
                }
                else
                {
                    errorMsgs.Add("Det blev ett fel när ditt fordon skulle registreras. Kontakta systemansvarig.");
                    if (DEBUG)
                        errorMsgs.AddRange(db.GetTmpMsgs());
                    returnkod = 1;
                }
            }
            else
            {
                errorMsgs.Add("Det blev ett fel med frågeformuleringen. Kontakta systemansvarig.");
                if (DEBUG)
                    errorMsgs.AddRange(db.GetTmpMsgs());
                returnkod = 2;
            }
            if (errorMsgs.Count > 0)
                this.tmpMsgs = errorMsgs.ToArray();
            return returnkod;
        }