Пример #1
0
        /// <summary>
        /// Hämtar alla bokningar under en viss dag
        /// </summary>
        private void bokningar(DateTime dag)
        {
            boknings_objekt bokningar = new boknings_objekt(new SqlCeDatabase(), this.admin);
            SortedList<string,string>[] allaBokningar;
            Label[] tider = { labelTid08, labelTid10, labelTid14, labelTid16 };

            allaBokningar = bokningar.hamtaAllaBokningar(dag.ToShortDateString());
            for (int i = 0; i < 4; i++)
            {
                tider[i].Click -= fordonsInfo;
                tider[i].Click -= label_Click;
                if (allaBokningar[i] == null)
                {
                    tider[i].Text = "Ledig";
                    tider[i].Click -= fordonsInfo;
                    tider[i].Click += new EventHandler(label_Click);
                    tider[i].Cursor = Cursors.Hand;
                }
                else
                {
                    tider[i].Text = allaBokningar[i]["bil"];
                    tider[i].Click += new EventHandler(fordonsInfo);
                    tider[i].Cursor = Cursors.Hand;
                }
                if (DEBUG)
                    richTextBoxFormAdminMsgs.Lines = bokningar.GetTmpMsgs();
                labelNyBokDag.Text = dag.ToShortDateString();
                labelDag.Text = string.Format("Det valda datumet är {0}", dag.ToShortDateString());
                panelBokDag.Show();
            }
        }
Пример #2
0
        /// <summary>
        /// Bokar fordonet för kunden som är inskrivna i panelNyBok
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonBoka_Click(object sender, EventArgs e)
        {
            boknings_objekt bokningar = new boknings_objekt(new SqlCeDatabase(), this.admin);
            string namn, tfn, reg, marke, modell, arsmodell, beskr, datum;
            namn = maskedTextBoxNamn.Text;
            tfn = maskedTextBoxTfn.Text;
            reg = maskedTextBoxReg.Text;
            marke = maskedTextBoxMarke.Text;
            modell = maskedTextBoxModell.Text;
            arsmodell = maskedTextBoxArsmodell.Text;
            beskr = richTextBoxBokMeddelande.Text;
            datum = labelNyBokDag.Text + " " + labelNyBokTid.Text;

            // Om något av de obligatoriska fälten är tomma avbryt
            if (namn == string.Empty | tfn == string.Empty | reg == string.Empty | marke == string.Empty | modell == string.Empty | arsmodell == string.Empty)
            {
                MessageBox.Show("Du måste fylla i alla fälten");
                return;
            }

            string fnamn, enamn;
            if (namn.Contains(' '))
            {
                fnamn = namn.Substring(0,namn.IndexOf(' '));
                enamn = namn.Substring(namn.IndexOf(' '));
            }
            else
            {
                fnamn = namn;
                enamn = "";
            }
            if (bokningar.boka(fnamn, enamn, tfn, reg, datum, marke, modell, arsmodell, namn, beskr))
                richTextBoxFormAdminMsgs.Text = "Bokningen utfördes utan problem!";
            else
            {
                if (DEBUG)
                    richTextBoxFormAdminMsgs.Lines = bokningar.GetTmpMsgs();
                else
                    richTextBoxFormAdminMsgs.Text = "Det blev något fel med bokningen";
            }
            richTextBoxFormAdminMsgs.Show();
        }
Пример #3
0
        /// <summary>
        /// Bokafunktionen, bokar in bilen på den valda tiden och datumet.
        /// Funktionen kollar om man bokar en registrerad bil eller om man registrerar en ny och kommer i så fall registrera den nya bilen hos kunden.
        /// </summary>
        /// <param name="sender">Den knappen som startade eventet</param>
        /// <param name="e"></param>
        public void buttonBoka_Click(object sender, EventArgs e)
        {
            boknings_objekt bokning = new boknings_objekt(new SqlCeDatabase(), this.anvandare);
            input inmatning = new input();
            Meddelande();

            if (dag != "" & tid != "")
            {
                // Formatterar datumet och hämtar regnumret
                string datum = dag + " " + tid;
                string regnr = comboBoxReg.Text;
                string spec = richTextBoxMeddelandenBoka.Text;
                // Om det är en reggad bil som är markerad, boka bara bilen på datumet och tiden
                if (this.kundHarReggadBil)
                {
                    if (bokning.boka(this.anvandare, regnr, datum, spec))
                    {
                        richTextBoxMeddelandenBoka.Text = "Bokningen genomfördes utan problem.";
                        richTextBoxMeddelandenBoka.Text += "\nDatumet är " + this.dag + " och tiden " + this.tid;
                    }
                    else
                    {
                        richTextBoxMeddelandenBoka.Text = "Det blev något fel med bokningen";
                        string[] felmeddelande = bokning.GetTmpMsgs();
                        if (felmeddelande.Contains("A duplicate value"))
                            richTextBoxMeddelandenBoka.Text = "Datumet du valt är upptaget, välj ett annat";
                        if (DEBUG)
                        {
                            richTextBoxMeddelandenBoka.ScrollBars = RichTextBoxScrollBars.ForcedBoth;
                            richTextBoxMeddelandenBoka.Text += "\n**** FELMEDDELANDE ****";
                            foreach (string fel in felmeddelande)
                                richTextBoxMeddelandenBoka.Text += "\n" + fel + "\n";
                        }
                    }
                }
                // Om bilen inte är registrerad så registrera bilen först och sen boka in bilen på datument och tiden
                else
                {
                    string modell = textBoxModell.Text;
                    string marke = textBoxMarke.Text;
                    string arsmodell = textBoxArsModell.Text;
                    if (bokning.boka(this.anvandare, regnr, datum, marke, modell, arsmodell, spec))
                    {
                        richTextBoxMeddelandenBoka.Text = "Bokningen genomfördes utan problem.";
                        richTextBoxMeddelandenBoka.Text += "\nDatumet är " + this.dag + " och tiden " + this.tid;
                    }
                    else
                    {
                        richTextBoxMeddelandenBoka.Text = "Det blev något fel med bokningen";
                        string[] felmeddelande = bokning.GetTmpMsgs();
                        if (felmeddelande.Contains("A duplicate value"))
                            richTextBoxMeddelandenBoka.Text = "Datumet du valt är upptaget, välj ett annat";
                        if (DEBUG)
                        {
                            richTextBoxMeddelandenBoka.ScrollBars = RichTextBoxScrollBars.ForcedBoth;
                            richTextBoxMeddelandenBoka.Text += "**** FELMEDDELANDE ****";
                            foreach (string fel in felmeddelande)
                                richTextBoxMeddelandenBoka.Text += "\n" + fel + "\n";
                        }
                    }
                }
                DoljBokningar();
            }
            // Om tiden eller datument är tomt visa felmeddelandet
            else
            {
                richTextBoxMeddelandenBoka.Text = "Du har inte valt vilket datum och vilken tid du vill utföra din bokning";
                if (DEBUG)
                    richTextBoxMeddelandenBoka.Text += "\nDatumet är " + dag + " och tiden är " + tid;
            }
        }
Пример #4
0
        /// <summary>
        /// En funktion som tar bort en hyrning, använder namnet på den label som kallade funktionen.
        /// Kräver att labelns namn är Tabort_ID, där ID är ett nummer som stämmer överens med identiteten
        /// </summary>
        /// <param name="sender">Den labeln som kallade funktionen</param>
        /// <param name="e">Oanvänd parameter för denna funktion, följer med ClickOnEvent</param>
        private void TaBort(object sender, EventArgs e)
        {
            Label Tabort = sender as Label;
            string namn = Tabort.Name.Substring(7);
            int bokning;
            if (!int.TryParse(namn, out bokning))
                MessageBox.Show("Detta är inget id: " + namn);
            else
            {
                boknings_objekt tabort = new boknings_objekt(new SqlCeDatabase(), this.anvandare);
                int TabortBokningar = tabort.tabortMinaBokningar(bokning);

                tableLayoutPanelBokningar.Controls.Clear();
                fyllBokningar_bilar();
            }
        }
Пример #5
0
        /// <summary>
        /// Funktin som fyller bokningarna och kundens fordon
        /// </summary>
        private void fyllBokningar_bilar()
        {
            boknings_objekt bokningar = new boknings_objekt(new SqlCeDatabase(), anvandare);
            bil_objekt fordon = new bil_objekt();

            SortedList<string, string>[] bokningsResultat = bokningar.hamtaMinaBokningar();
            int bilResultat = fordon.kollaKundsBilar(anvandare);

            if (bilResultat != 0)
            {
                this.tableLayoutPanelBilar.Hide();
                this.labelBilarMeddelande.Text = "Det finns inga bilar registrerade i systemet tryck på registrera för att registrera en bil";
                this.labelBilarMeddelande.Show();
            }

            if (bokningsResultat.Length == 0)
            {
                this.tableLayoutPanelBokningar.Hide();
                this.labelBokningarMeddelande.Text = "Du har inga bokade tider";
                this.labelBokningarMeddelande.Show();
            }

            if (this.tableLayoutPanelBilar.Visible)
            {
                SortedList<string, string>[] fordonLista = fordon.GetTmpMsgs(true);
                int length = fordonLista.Length;
                for (int i = 0; i < length; i++)
                {
                    SortedList<string, string> fordonsfält = fordonLista[i] as SortedList<string, string>;
                    Label labelBilarReg = new Label(), labelBilarMarke = new Label(), labelBilarModell = new Label(), labelBilarArsmodell = new Label();
                    Label[] labelBilar = { labelBilarReg, labelBilarMarke, labelBilarModell, labelBilarArsmodell };
                    for (int o = 0; o < 4; o++)
                    {
                        labelBilar[o].Text = fordonsfält[fordonsfält.Keys[o]];
                        this.tableLayoutPanelBilar.Controls.Add(labelBilar[o]);
                    }
                }
            }

            int lengthRes = bokningsResultat.Length;
            for (int i = 0; i < lengthRes; i++)
            {
                SortedList<string, string> bokningsString = bokningsResultat[i] as SortedList<string, string>;
                Label labelBokningDatum = new Label(), labelBokningBil = new Label(), labelBokningId = new Label();
                Label[] labelBokning = { labelBokningDatum, labelBokningBil, labelBokningId };
                for (int o = 0; o < 3; o++)
                {
                    switch (o)
                    {
                        case 0:
                            labelBokning[o].Text = bokningsString["datum"];
                            break;

                        case 1:
                            labelBokning[o].Text = bokningsString["bil"];
                            break;

                        case 2:
                            labelBokning[o].Text = "Ta bort";
                            labelBokning[o].Name = "Tabort_" + bokningsString["id"];
                            labelBokning[o].Cursor = System.Windows.Forms.Cursors.Hand;
                            labelBokning[o].Click += new System.EventHandler(this.TaBort);
                            break;
                    }
                    this.tableLayoutPanelBokningar.Controls.Add(labelBokning[o]);
                }
                this.tableLayoutPanelBokningar.Show();
            }
        }
Пример #6
0
        /// <summary>
        /// Bokar fordonet för kunden som är inskrivna i panelNyBok
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonBoka_Click(object sender, EventArgs e)
        {
            boknings_objekt bokningar = new boknings_objekt(new SqlCeDatabase(), this.admin);
            input nyKund = new input();
            string namn, tfn, persnnr, adress, email, reg, marke, modell, arsmodell, beskr, datum;
            namn = maskedTextBoxNamn.Text;
            tfn = maskedTextBoxTfn.Text;
            persnnr = maskedTextBoxPersnnr1.Text;
            adress = maskedTextBoxAdress1.Text;
            email = maskedTextBoxEmail1.Text;
            reg = maskedTextBoxReg.Text;
            marke = maskedTextBoxMarke.Text;
            modell = maskedTextBoxModell.Text;
            arsmodell = maskedTextBoxArsmodell.Text;
            beskr = richTextBoxBokMeddelande.Text;
            datum = labelNyBokDag.Text + " " + labelNyBokTid.Text;

            // Om något av de obligatoriska fälten är tomma avbryt
            if (namn == string.Empty | tfn == string.Empty | persnnr == string.Empty | adress == string.Empty | email == string.Empty | reg == string.Empty | marke == string.Empty | modell == string.Empty | arsmodell == string.Empty)
            {
                MessageBox.Show("Du måste fylla i alla fälten");
                return;
            }

            //Kollar om kundvärderna kan stämma
            MaskedTextBox[] inmatningsBoxar = { maskedTextBoxNamn, maskedTextBoxPersnnr1, maskedTextBoxEmail1, maskedTextBoxAdress1, maskedTextBoxTfn };
            string[] inmatVärden = nyKund.kollaInmatning(inmatningsBoxar);
            if (DEBUG && nyKund.GetTmpMsgs().Length > 0)
                {
                    string[] errorMsgs = nyKund.GetTmpMsgs();

                    foreach (string meddelande in errorMsgs)
                        richTextBoxMeddelanden.Text += meddelande + "\n";
                }

            int regResultat = nyKund.ReggaAdminKund(inmatVärden);
            if (regResultat == 0)
            {
                richTextBoxMeddelanden.Text = "Kunden registrerades utan problem!";
            }
            else
            {
                string[] felmeddelande = nyKund.GetTmpMsgs();
                if (felmeddelande.Contains("a duplicate value"))
                    richTextBoxMeddelanden.Text = "Det finns redan ett konto med denna emailadress eller med detta personnummer. " +
                        "\nKontrollera att du inte redan skapat ett konto.\n";
                else
                {
                   if (DEBUG)
                       richTextBoxMeddelanden.Text += felmeddelande[1]; // Index utanför matrixen...
                   else
                       richTextBoxMeddelanden.Text += "Det blev ett fel när du skulle registreras.\nFörsök gärna lite senare.";
                }
            }

            string fnamn, enamn;
            if (namn.Contains(' '))
            {
                fnamn = namn.Substring(0,namn.IndexOf(' '));
                enamn = namn.Substring(namn.IndexOf(' '));
            }
            else
            {
                fnamn = namn;
                enamn = "";
            }
            if (bokningar.boka(fnamn, enamn, tfn, reg, datum, marke, modell, arsmodell, namn, beskr))
                richTextBoxFormAdminMsgs.Text = "Bokningen utfördes utan problem!";
            else
            {
                if (DEBUG)
                    richTextBoxFormAdminMsgs.Lines = bokningar.GetTmpMsgs();
                else
                    richTextBoxFormAdminMsgs.Text = "Det blev något fel med bokningen";
            }
            richTextBoxFormAdminMsgs.Show();
        }