Пример #1
0
 private void buttonLogga_Click(object sender, EventArgs e)
 {
     List<string> errorMsg = new List<string>();
     input inmatning = new input();
     if (textBoxEmailLogin.Text == "" | textBoxLosenLogin.Text == "")
         errorMsg.Add("Du måste skriva in både email och lösenord för att logga in.");
     else
     {
         if (inmatning.loggaIn(textBoxEmailLogin.Text, textBoxLosenLogin.Text))
         {
             kund anvandare = new kund(textBoxEmailLogin.Text, textBoxLosenLogin.Text);
             FormBoka minBokning = new FormBoka(anvandare);
             FormHyra minHyrning = new FormHyra(anvandare);
             this.Hide();
             if (radioButtonLaga.Checked)
                 minBokning.ShowDialog();
             else
                 minHyrning.ShowDialog();
             this.Show();
         }
         else
         {
             string[] felmeddelande = inmatning.GetTmpMsgs();
             foreach (string msg in felmeddelande)
                 richTextBoxMeddelanden1.Text += msg;
         }
     }
 }
Пример #2
0
 static void Main()
 {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     kund anvandare = new kund("*****@*****.**", "jonsson");
     administrator admin = new administrator("*****@*****.**","jonsson");
     Application.Run(new FormBoka(anvandare));
 }
Пример #3
0
        public FormProfil(string agare)
        {
            InitializeComponent();
            this.anvandare = new kund(agare);
            initProfil(anvandare);

            TextBox[] textboxar = { textBoxAdress, textBoxEmail, textBoxNamn, textBoxTfn };
            foreach (TextBox tb in textboxar)
            {
                tb.KeyDown -= textboxKeyEvent;
                tb.Enabled = false;
            }
        }
Пример #4
0
        /// <summary>
        /// Funktion som fyller textboxarna med profilens information
        /// </summary>
        public void initProfil(kund anvandare)
        {
            textBoxNamn.Text = anvandare.GetNamn();
            textBoxEmail.Text = anvandare.GetEmail();
            textBoxAdress.Text = anvandare.GetAdress();
            textBoxTfn.Text = anvandare.GetTfn();

            textBoxBekräfta.Clear();
            textBoxBekräfta.Hide();
            labelBekräfta.Hide();
            labelAvbryt.Hide();
            panelRed.Hide();
            buttonBytLösen.Hide();
        }
Пример #5
0
        /// <summary>
        /// Konstruktören för FormHyra-formen, här börjar koden från FormHyra.
        /// Här initalieras alla komponenter och kund objektet sparas som global variabel för formen.
        /// </summary>
        /// <param name="anvandare">Kund objektet för den som hyr</param>
        public FormHyra(kund anvandare)
        {
            InitializeComponent();
            SqlCeDatabase db = new SqlCeDatabase();
            this.anvandare = anvandare;

            DoljHyr();
            fyllHyrningar();

            richTextBoxBokningMeny.Text = "Tryck på Ny hyrning för att göra en ny hyrning.\nTryck på Mina hyrningar för att se vad du har hyrt och när.";
            if (DEBUG)
            {
                richTextBoxBokningMeny.Text += "\nNamn: " + anvandare.GetNamn();
                richTextBoxBokningMeny.Text += "\nEmail: " + anvandare.GetEmail();
            }
        }
Пример #6
0
        /// <summary>
        /// Konstruktör för FormOmOss när en kund skapar formen
        /// </summary>
        /// <param name="användare">Kundobjektet som skapade formuläret</param>
        public FormOmOss(kund användare)
        {
            InitializeComponent();
            TextBox[] textboxar = { textBoxNamn, textBoxEmail, textBoxTelefon, textBoxOppetider, textBoxPostAdress, textBoxAdress };
            this.anvandare = användare;
            initFormOmOss();

            richTextBoxOmOss.ReadOnly = true;
            richTextBoxOmOss.Cursor = Cursors.Default;

            foreach (TextBox textbox in textboxar)
            {
                textbox.Enabled = false;
                textbox.ReadOnly = true;
                textbox.Cursor = Cursors.Default;
                textbox.WordWrap = true;
            }
        }
Пример #7
0
        /// <summary>
        /// Bokar tid för fordonet i databasen, bokar in fordonet som endast registreringsnummer så denna
        /// funktion förutsätter att bilen är registrerad.
        /// Lämnar kvar felmeddelande i tmpMsgs-arrayen.
        /// </summary>
        /// <param name="anvandare">Kunden / administratörens kundobjekt</param>
        /// <param name="regnr">Fordonets registreringsnummer</param>
        /// <param name="datum">Datumet som bokningen gäller</param>
        /// <returns>Returnerar true om allt gick som det skulle eller falskt annars.</returns>
        public bool boka(kund anvandare, string regnr, string datum, string spec)
        {
            List<string> errorMsgs = new List<string>();
            SqlCeDatabase db = new SqlCeDatabase();
            string agare = anvandare.GetEmail();

            string namn = anvandare.GetNamn();
            string fnamn = namn.Substring(0, namn.IndexOf(' '));
            string enamn = namn.Substring(namn.IndexOf(' ') + 1);
            string tfn = anvandare.GetTfn();

            string query = "INSERT INTO Bokning " +
               "(datum, fnamn, enamn, bil, email, tfn, spec) " +
               "VALUES  ('?x?','?x?','?x?','?x?', '?x?', '?x?', '?x?')";
            string[] args = new string[7] { datum, fnamn, enamn, regnr, agare, tfn, spec };

            if (db.query(query, args) == 0)
            {
                int opResultat = db.operation();
                if (opResultat == 0)
                    return true;
                else
                {
                    errorMsgs.Add("Det blev något fel när din bokning skulle processeras. Kontakta ansvarig för programmet");
                    if (DEBUG)
                        errorMsgs.AddRange(this.db.GetTmpMsgs());
                }
            }
            else
            {
                errorMsgs.Add("Det blev ett fel vid skapandet av frågan. Kontakta ansvarig för programmet.");
                if (DEBUG)
                    errorMsgs.AddRange(this.db.GetTmpMsgs());
            }

            if (errorMsgs.Count > 0)
            {
                this.tmpMsgs = errorMsgs.ToArray();
            }
            return false;
        }
Пример #8
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();
            }
        }
Пример #9
0
 /// <summary>
 /// Kontruktören för boknings_objekt, tar en SqlCeDatabase och en kund som parametrar
 /// </summary>
 /// <param name="db">SqlCeDatabase som ska användas för databasen</param>
 /// <param name="anvandare">kunden som bokar</param>
 public boknings_objekt(SqlCeDatabase db, kund anvandare)
 {
     this.anvandare = anvandare;
     this.db = db;
 }
Пример #10
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.GetEmail() };

            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;
        }
Пример #11
0
        /// <summary>
        /// Hämtar alla bilar som är registrerade på kundens email 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.GetEmail() };

            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;
        }
Пример #12
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.GetEmail();
            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;
        }
Пример #13
0
 /// <summary>
 /// Konstruktör för användare
 /// </summary>
 /// <param name="anvandare">Kundobjektet för vilken denna profil skapas</param>
 public FormProfil(kund anvandare)
 {
     this.anvandare = anvandare;
     InitializeComponent();
     initProfil(anvandare);
 }
Пример #14
0
 /// <summary>
 /// Konstruktör för administratörer
 /// </summary>
 /// <param name="admin">Administratörsobjeketet för vilken denna profil skapas</param>
 public FormProfil(administrator admin)
 {
     this.anvandare = (kund)admin;
     InitializeComponent();
     initProfil();
 }