예제 #1
0
        /// <summary>
        /// Metod som hämtar grupper.
        /// </summary>
        private void hamtaGrupper()
        {
            DataTable svarGrp;
            postgres  sokning = new postgres();

            svarGrp = sokning.sqlFråga(sokning.vilkenSokning(false, false, false), "gruppNy");     // hämtar sökning efter träningsgrupper

            if (svarGrp.Columns[0].ColumnName.Equals("error"))
            {
                tbSvar.Text = svarGrp.Rows[0][1].ToString();
            }
            else
            {
                List <traningsgrupp> nyTraningsgruppLista = new List <traningsgrupp>();
                for (int i = 0; i < svarGrp.Rows.Count; i++)
                {
                    traningsgrupp traningsgruppRatt = new traningsgrupp()
                    {
                        namn     = svarGrp.Rows[i]["namn"].ToString(),
                        grupp_id = (int)svarGrp.Rows[i]["grupp_id"]
                    };


                    nyTraningsgruppLista.Add(traningsgruppRatt);
                }

                lbxTraningsgrupper.DataSource    = nyTraningsgruppLista;
                lbxTraningsgrupper.DisplayMember = "nyaGrupper";
                tbSvar.Text = sokOk;
            }
        }
예제 #2
0
        /// <summary>
        /// Metod som ändrar en deltagas närvaro.
        /// </summary>
        private void andraNarvaro()
        {
            postgres sokning = new postgres();

            sokning.startDatum = dtpFran.Value;
            sokning.slutDatum  = dtpSlutDatum.Value;
            sokning.narvaro    = narvaro;
            sokning.pnr        = personnummer;
            sokning.deltagit   = deltagit;
            sokning.enkelGrupp = grupp;
            string narvaroSvar = sokning.sqlNonQuery(sokning.vilkenSokning(false, false, false), "andraNarvaro");     // sqlNonquery som ändrar närvaron.

            tbSvar.Text = narvaroSvar;
        }
예제 #3
0
        /// <summary>
        /// hämtar gruppmedlemmar till medlemslistboxen
        /// </summary>
        public void hamtaGruppmedlemmar()
        {
            List <string> gruppLista = new List <string>();

            foreach (traningsgrupp selectedItem in lbxTraningsgrupper.SelectedItems)
            {
                gruppLista.Add(selectedItem.namn);
            }

            DataTable svarNarvaro;

            postgres sokning = new postgres();

            sokning.grupp = gruppLista;


            svarNarvaro = sokning.sqlFråga(sokning.vilkenSokning(false, false, false), "hamtaGruppmedlemmar");     // hämtar sökning efter träningsgrupper

            if (svarNarvaro.Columns[0].ColumnName.Equals("error"))
            {
                _tbSvar.Text = svarNarvaro.Rows[0][1].ToString();
            }
            else
            {
                // här får man lägga in kod för att reda ut vilken typ av objekt o lista man vill lägga resultatet i och var datan sedan spottas ut
                List <gruppmedlemmar> nyNarvarolista = new List <gruppmedlemmar>();
                for (int i = 0; i < svarNarvaro.Rows.Count; i++)
                {
                    gruppmedlemmar narvarolistaRatt = new gruppmedlemmar()
                    {
                        Förnamn      = svarNarvaro.Rows[i]["fnamn"].ToString(),
                        Efternamn    = svarNarvaro.Rows[i]["enamn"].ToString(),
                        Personnummer = svarNarvaro.Rows[i]["pnr"].ToString(),
                        medlemId     = svarNarvaro.Rows[i]["medlem_id"].ToString(),
                    };


                    nyNarvarolista.Add(narvarolistaRatt);
                    _tbSvar.Text = sokOk;
                }

                lbxGruppmedlemmar.DataSource    = nyNarvarolista;
                lbxGruppmedlemmar.DisplayMember = "redanGruppMedlemmar";
            }
        }
예제 #4
0
        /// <summary>
        /// Metod som länker ihop medlem med en vald grupp.
        /// </summary>
        private void lankaGruppOchMedlem()
        {
            foreach (gruppmedlemmar selectedItem in lbxMedlemmar.SelectedItems)
            {
                nyMedlem = selectedItem.medlemId;
            }
            foreach (traningsgrupp selectedItem in lbxTraningsgrupper.SelectedItems)
            {
                nyGrupp = selectedItem.grupp_id.ToString();
            }
            postgres sokning = new postgres();

            sokning.nyMedlem   = nyMedlem;
            sokning.enkelGrupp = nyGrupp;
            string narvaroSvar = sokning.sqlNonQuery(sokning.vilkenSokning(false, false, false), "laggTillMedlem");         // hämtar sökning efter träningsgrupper

            tbSvar.Text = narvaroSvar;
        }
예제 #5
0
        /// <summary>
        /// Metod som hämtar medlemmar som finns i aktuell grupp..
        /// </summary>
        public void hamtaGruppmedlemmar()
        {
            List <string> gruppLista = new List <string>();

            foreach (traningsgrupp selectedItem in lbxTraningsgrupper.SelectedItems)
            {
                gruppLista.Add(selectedItem.namn);
            }

            DataTable svarNarvaro;

            postgres sokning = new postgres();

            sokning.grupp = gruppLista;


            svarNarvaro = sokning.sqlFråga(sokning.vilkenSokning(false, false, false), "hamtaGruppmedlemmar");

            if (svarNarvaro.Columns[0].ColumnName.Equals("error"))
            {
                tbSvar.Text = svarNarvaro.Rows[0][1].ToString();
            }
            else
            {
                List <gruppmedlemmar> nyNarvarolista = new List <gruppmedlemmar>();
                for (int i = 0; i < svarNarvaro.Rows.Count; i++)
                {
                    gruppmedlemmar narvarolistaRatt = new gruppmedlemmar()
                    {
                        Förnamn      = svarNarvaro.Rows[i]["fnamn"].ToString(),
                        Efternamn    = svarNarvaro.Rows[i]["enamn"].ToString(),
                        Personnummer = svarNarvaro.Rows[i]["pnr"].ToString(),
                        medlemId     = svarNarvaro.Rows[i]["medlem_id"].ToString(),
                    };


                    nyNarvarolista.Add(narvarolistaRatt);
                    tbSvar.Text = sokOk;
                }

                lbxGruppmedlemmar.DataSource    = nyNarvarolista;
                lbxGruppmedlemmar.DisplayMember = "redanGruppMedlemmar";
            }
        }
예제 #6
0
        /// <summary>
        /// Sökning görs efter de grupper som
        /// en viss ledare ansvarar för. (Stöd för Multiselect)
        /// </summary>
        private void sokgrupper()
        {
            DataTable sokningResultat;

            vilkaParam();                                                             // sökparameterkontroll

            string soktyp = "grupp";

            List <string> ledarLista = new List <string>();

            foreach (gruppledare selectedItem in _lbxLedare.SelectedItems)
            {
                ledarLista.Add(selectedItem.medlemId.ToString());
            }

            postgres s = startaPostgres();

            s.ledare = ledarLista;

            sokningResultat = s.sqlFråga(s.vilkenSokning(sokDatInterv, sokGrupp, sokLedare), soktyp);

            if (sokningResultat.Columns[0].ColumnName.Equals("error"))
            {
                _tbFeedback.Text = sokningResultat.Rows[0][1].ToString();
            }
            else
            {
                List <traningsgrupp> grupplista = new List <traningsgrupp>();

                for (int y = 0; y < sokningResultat.Rows.Count; y++)
                {
                    traningsgrupp grupp = new traningsgrupp();
                    grupp.namn = sokningResultat.Rows[y]["namn"].ToString();
                    grupplista.Add(grupp);
                }

                _lbxGrupper.DataSource    = grupplista;
                _lbxGrupper.DisplayMember = "namn";
                _tbFeedback.Text          = sokOk;
            }
        }
예제 #7
0
        /// <summary>
        /// Sökning görs efter de ledare som har
        /// inbokade pass inom den valda tiden.
        /// </summary>
        private void sokledare()
        {
            DataTable sokningResultat;

            vilkaParam();                                                             // sökparameterkontroll
            string soktyp = "ledare";

            postgres s = startaPostgres();

            // sökning i db görs här, svaret skickas tillbaka in i tabellen sokningResultat som har datatypen DataTable
            sokningResultat = s.sqlFråga(s.vilkenSokning(sokDatInterv, sokGrupp, sokLedare), soktyp);


            if (sokningResultat.Columns[0].ColumnName.Equals("error"))
            {
                _tbFeedback.Text = sokningResultat.Rows[0][1].ToString();
            }
            else
            {
                List <gruppledare> ledarlista = new List <gruppledare>();
                gruppledare        ledare;
                for (int i = 0; i < sokningResultat.Rows.Count; i++)
                {
                    ledare = new gruppledare()
                    {
                        medlemId  = sokningResultat.Rows[i]["ledare"].ToString(),
                        förnamn   = sokningResultat.Rows[i]["fnamn"].ToString(),
                        efternamn = sokningResultat.Rows[i]["enamn"].ToString()
                    };

                    ledarlista.Add(ledare);
                }

                _lbxLedare.DataSource    = ledarlista;
                _lbxLedare.DisplayMember = "forOchEftNamn";
                _tbFeedback.Text         = sokOk;
            }
        }
예제 #8
0
        /// <summary>
        /// Metod som kallar på sökmetoden från postgres-klassen. Söker efter träningsgrupper.
        /// </summary>
        private void sokGrp()
        {
            DataTable svarGrp;

            vilkaParam();
            postgres sokning = new postgres();

            sokning.startDatum = dtpFran.Value;
            sokning.slutDatum  = dtpSlutDatum.Value;
            svarGrp            = sokning.sqlFråga(sokning.vilkenSokning(sokDatInterv, sokGrupp, false), "grupp"); // hämtar sökning efter träningsgrupper

            if (svarGrp.Columns[0].ColumnName.Equals("error"))
            {
                tbSvar.Text = svarGrp.Rows[0][1].ToString();
            }
            else
            {
                List <traningsgrupp> nyTraningsgruppLista = new List <traningsgrupp>();
                for (int i = 0; i < svarGrp.Rows.Count; i++)
                {
                    traningsgrupp traningsgruppRatt = new traningsgrupp()
                    {
                        namn  = svarGrp.Rows[i]["namn"].ToString(),
                        tid   = svarGrp.Rows[i]["starttid"].ToString(),
                        datum = svarGrp.Rows[i]["datum"].ToString()
                    };


                    nyTraningsgruppLista.Add(traningsgruppRatt);
                }


                lbxGrupper.DataSource    = nyTraningsgruppLista;
                lbxGrupper.DisplayMember = "traningsgrupps";
                tbSvar.Text = sokOk;
            }
        }
예제 #9
0
        /// <summary>
        /// Metod som kallar på sökmetoden från postgres-klassen. Söker efter närvarande och lägger till checkboxar i nya kolumner.
        /// </summary>
        private void sokNarvaro()
        {
            List <string> gruppLista = new List <string>();

            foreach (traningsgrupp selectedItem in lbxGrupper.SelectedItems)
            {
                gruppLista.Add(selectedItem.namn);
            }

            DataTable svarNarvaro;

            vilkaParam();

            postgres sokning = new postgres();

            sokning.grupp      = gruppLista;
            sokning.startDatum = dtpFran.Value;
            sokning.slutDatum  = dtpSlutDatum.Value;

            svarNarvaro = sokning.sqlFråga(sokning.vilkenSokning(sokDatInterv, sokGrupp, false), "narvaro");     // hämtar sökning efter närvaro.

            if (svarNarvaro.Columns[0].ColumnName.Equals("error"))
            {
                tbSvar.Text = svarNarvaro.Rows[0][1].ToString();
            }
            else
            {
                List <narvarolista> nyNarvarolista = new List <narvarolista>();
                for (int i = 0; i < svarNarvaro.Rows.Count; i++)
                {
                    narvarolistaRatt = new narvarolista()
                    {
                        Förnamn      = svarNarvaro.Rows[i]["fnamn"].ToString(),
                        Efternamn    = svarNarvaro.Rows[i]["enamn"].ToString(),
                        Personnummer = svarNarvaro.Rows[i]["pnr"].ToString(),
                        narvaro      = svarNarvaro.Rows[i]["narvarolista_id"].ToString(),
                        gruppnamn    = svarNarvaro.Rows[i]["namn"].ToString(),
                        medlemId     = svarNarvaro.Rows[i]["medlem_id"].ToString(),
                        deltagit     = (bool)svarNarvaro.Rows[i]["deltagit"]
                    };


                    nyNarvarolista.Add(narvarolistaRatt);
                    tbSvar.Text = sokOk;
                }
                dgvRegistreraNarvaro.DataSource = nyNarvarolista;



                for (int i = 3; i < 10; i++)
                {
                    dgvRegistreraNarvaro.Columns[i].Visible = false;
                }


                svarNarvaro = sokning.sqlFråga(sokning.vilkenSokning(sokDatInterv, sokGrupp, false), "jamfor"); //Sökning som hämtar en lista att jämföra med.

                if (svarNarvaro.Columns[0].ColumnName.Equals("error"))
                {
                    tbSvar.Text = svarNarvaro.Rows[0][1].ToString();
                }
                else
                {
                    jamforLista = new List <narvarolista>();
                    for (int i = 0; i < svarNarvaro.Rows.Count; i++)
                    {
                        narvarolista jamforning = new narvarolista()
                        {
                            Förnamn      = svarNarvaro.Rows[i]["fnamn"].ToString(),
                            Efternamn    = svarNarvaro.Rows[i]["enamn"].ToString(),
                            Personnummer = svarNarvaro.Rows[i]["pnr"].ToString(),
                            narvaro      = svarNarvaro.Rows[i]["narvarolista_id"].ToString(),
                            gruppnamn    = svarNarvaro.Rows[i]["namn"].ToString(),
                            deltagit     = (bool)svarNarvaro.Rows[i]["deltagit"],
                            datum        = svarNarvaro.Rows[i]["datum"].ToString(),
                            medlemId     = svarNarvaro.Rows[i]["medlem_id"].ToString(),
                            start        = svarNarvaro.Rows[i]["starttid"].ToString(),
                            s**t         = svarNarvaro.Rows[i]["sluttid"].ToString()
                        };
                        jamforLista.Add(jamforning);
                    }
                }

                svarNarvaro = sokning.sqlFråga(sokning.vilkenSokning(sokDatInterv, sokGrupp, false), "unikagrupper"); //Sökning som hämtar unika grupper.

                if (svarNarvaro.Columns[0].ColumnName.Equals("error"))
                {
                    tbSvar.Text = svarNarvaro.Rows[0][1].ToString();
                }
                else
                {
                    List <narvarolista> unikaGrupperLista = new List <narvarolista>();

                    for (int i = 0; i < svarNarvaro.Rows.Count; i++)
                    {
                        narvarolista unikaGrupper = new narvarolista()
                        {
                            narvaro   = svarNarvaro.Rows[i]["narvarolista_id"].ToString(),
                            gruppnamn = svarNarvaro.Rows[i]["namn"].ToString(),
                            datum     = svarNarvaro.Rows[i]["datum"].ToString(),
                            start     = svarNarvaro.Rows[i]["starttid"].ToString(),
                            s**t      = svarNarvaro.Rows[i]["sluttid"].ToString(),
                        };
                        unikaGrupperLista.Add(unikaGrupper);
                    }



                    int kolumn = 10;

                    List <narvarolista> _narvarolistan;
                    //Här under läggs nya rutor till för varje tillfälle.
                    foreach (narvarolista item in unikaGrupperLista)
                    {
                        kolNamn = item.gruppnamn + "\n" + "Datum: " + Convert.ToDateTime(item.datum).ToShortDateString() + "\nTid: " + Convert.ToDateTime(item.start).ToShortTimeString() + "-" + Convert.ToDateTime(item.s**t).ToShortTimeString();
                        DataGridViewCheckBoxColumn checkboxColumn = new DataGridViewCheckBoxColumn();
                        checkboxColumn.Name             = kolNamn;
                        checkboxColumn.DataPropertyName = "nyaKol";
                        dgvRegistreraNarvaro.Columns.Add(checkboxColumn); //lägger till checkboxar i de nya kolumnerna.

                        _narvarolistan = new List <narvarolista>();

                        int index = 0;
                        _narvarolistan.Clear();

                        //Här börjar jämförelsen mellan de olika listorna.
                        foreach (narvarolista narvarande in nyNarvarolista)
                        {
                            foreach (narvarolista jamfor in jamforLista)
                            {
                                if (narvarande.gruppnamn == item.gruppnamn && narvarande.narvaro == item.narvaro)
                                {
                                    if (narvarande.medlemId == jamfor.medlemId && item.narvaro == jamfor.narvaro && jamfor.deltagit == true && item.gruppnamn == jamfor.gruppnamn)
                                    {
                                        bool test2 = _narvarolistan.Contains(narvarande);
                                        if (!test2) //Om testet går igenom får aktuell kolumn en checkbox som är true.
                                        {
                                            dgvRegistreraNarvaro.Rows[index].Cells[kolumn].Value = true;
                                            _narvarolistan.Add(narvarande);
                                            break;
                                        }
                                    }
                                    //om inte får den ett värde som är false.
                                    else if (narvarande.medlemId == jamfor.medlemId && item.narvaro == jamfor.narvaro && jamfor.deltagit == false && item.gruppnamn == jamfor.gruppnamn)
                                    {
                                        dgvRegistreraNarvaro.Rows[index].Cells[kolumn].Value = false;
                                    }
                                }
                                else // om testet inte gick igenom får cellen även en ny sorts checkbox.
                                {
                                    // checkboxarna simuleras som disablade för att illustrera att medlemmar ej tillhör en viss grupp.
                                    DataGridViewCell         cell    = dgvRegistreraNarvaro.Rows[index].Cells[kolumn];
                                    DataGridViewCheckBoxCell chkCell = cell as DataGridViewCheckBoxCell;
                                    chkCell.Value           = false;
                                    chkCell.FlatStyle       = FlatStyle.Flat;
                                    chkCell.Style.ForeColor = Color.White;
                                    cell.ReadOnly           = true;
                                }
                            }
                            index++;
                        }
                        kolumn++;
                    }
                }
            }
        }
예제 #10
0
        /// <summary>
        /// Sökning görs efter de individer som tillhör
        /// en viss grupp. (Stöd för Multiselect)
        /// </summary>
        private void sokNarvaro()
        {
            DataTable sokningResultat;

            vilkaParam();                                                             // sökparameterkontroll

            string soktyp = "narvaro";

            List <string> gruppLista = new List <string>();

            foreach (traningsgrupp selectedItem in lbxGrupper.SelectedItems)
            {
                gruppLista.Add(selectedItem.namn.ToString());
            }


            postgres s = startaPostgres();

            s.grupp = gruppLista;

            sokningResultat = s.sqlFråga(s.vilkenSokning(sokDatInterv, sokGrupp, sokLedare), soktyp);

            if (sokningResultat.Columns[0].ColumnName.Equals("error"))
            {
                _tbFeedback.Text = sokningResultat.Rows[0][1].ToString();
            }
            else
            {
                List <narvarolista> narvarolistan = new List <narvarolista>();
                for (int y = 0; y < sokningResultat.Rows.Count; y++)
                {
                    narvarolista narvaro = new narvarolista();
                    narvaro.Förnamn      = sokningResultat.Rows[y]["fnamn"].ToString();
                    narvaro.Efternamn    = sokningResultat.Rows[y]["enamn"].ToString();
                    narvaro.Personnummer = sokningResultat.Rows[y]["pnr"].ToString();
                    narvaro.medlemId     = sokningResultat.Rows[y]["medlem_id"].ToString();
                    narvarolistan.Add(narvaro);
                }

                _dgvRapport.DataSource = narvarolistan;
                _dgvRapport.ReadOnly   = true;

                int hej = _dgvRapport.Columns.Count - 1;

                //for (int i = 2; i < 10; i++)
                //{
                //    dgvRapport.Columns[i].Visible = false;
                //}

                for (int i = hej; i > 2; i--)
                {
                    _dgvRapport.Columns.RemoveAt(i);
                }


                //ny sökning för att ta fram en jämförelselista mot narvarolista
                soktyp          = "jamfor";
                sokningResultat = s.sqlFråga(s.vilkenSokning(sokDatInterv, sokGrupp, sokLedare), soktyp);

                if (sokningResultat.Columns[0].ColumnName.Equals("error"))
                {
                    _tbFeedback.Text = sokningResultat.Rows[0][1].ToString();
                }
                else
                {
                    jamforLista = new List <narvarolista>();
                    for (int y = 0; y < sokningResultat.Rows.Count; y++)
                    {
                        narvarolista jamforning = new narvarolista();
                        jamforning.Förnamn      = sokningResultat.Rows[y]["fnamn"].ToString();
                        jamforning.Efternamn    = sokningResultat.Rows[y]["enamn"].ToString();
                        jamforning.Personnummer = sokningResultat.Rows[y]["pnr"].ToString();
                        jamforning.medlemId     = sokningResultat.Rows[y]["medlem_id"].ToString();
                        jamforning.narvaro      = sokningResultat.Rows[y]["narvarolista_id"].ToString();
                        jamforning.gruppnamn    = sokningResultat.Rows[y]["namn"].ToString();
                        jamforning.datum        = sokningResultat.Rows[y]["datum"].ToString();
                        jamforning.start        = sokningResultat.Rows[y]["starttid"].ToString();
                        jamforning.s**t         = sokningResultat.Rows[y]["sluttid"].ToString();
                        jamforning.deltagit     = (bool)sokningResultat.Rows[y]["deltagit"];

                        jamforLista.Add(jamforning);
                    }
                }

                //ny sökning för att ta fram unika grupper
                soktyp          = "unikagrupper";
                sokningResultat = s.sqlFråga(s.vilkenSokning(sokDatInterv, sokGrupp, sokLedare), soktyp);

                if (sokningResultat.Columns[0].ColumnName.Equals("error"))
                {
                    _tbFeedback.Text = sokningResultat.Rows[0][1].ToString();
                }
                else
                {
                    List <narvarolista> unikaGrupperLista = new List <narvarolista>();

                    for (int y = 0; y < sokningResultat.Rows.Count; y++)
                    {
                        narvarolista unikaGrupper = new narvarolista();
                        unikaGrupper.narvaro   = sokningResultat.Rows[y]["narvarolista_id"].ToString();
                        unikaGrupper.gruppnamn = sokningResultat.Rows[y]["namn"].ToString();
                        unikaGrupper.datum     = sokningResultat.Rows[y]["datum"].ToString();
                        unikaGrupper.start     = sokningResultat.Rows[y]["starttid"].ToString();
                        unikaGrupper.s**t      = sokningResultat.Rows[y]["sluttid"].ToString();

                        unikaGrupperLista.Add(unikaGrupper);
                    }


                    string kolNamn = "";
                    kolumn = 3;
                    summa  = 0;
                    summering.Clear();
                    int antalDeltagare = 0;

                    // lägger till kolumner för träningstillfälle
                    List <narvarolista> _narvarolistan;

                    foreach (narvarolista item in unikaGrupperLista)
                    {
                        kolNamn = " " + item.gruppnamn + "\n" + " Datum: " + Convert.ToDateTime(item.datum).ToShortDateString() + "\n Tid: " + Convert.ToDateTime(item.start).ToShortTimeString() + "-" + Convert.ToDateTime(item.s**t).ToShortTimeString();
                        _dgvRapport.Columns.Add(kolNamn, kolNamn);

                        _narvarolistan = new List <narvarolista>();

                        int index = 0;
                        antalDeltagare = 0;
                        _narvarolistan.Clear();

                        foreach (narvarolista narvarande in narvarolistan)
                        {
                            foreach (narvarolista jamfor in jamforLista)
                            {
                                if (narvarande.medlemId == jamfor.medlemId && item.narvaro == jamfor.narvaro && jamfor.deltagit == true && item.gruppnamn == jamfor.gruppnamn)
                                {
                                    bool test2 = _narvarolistan.Contains(narvarande);
                                    if (!test2)
                                    {
                                        _dgvRapport.Rows[index].Cells[kolumn].Value = "x";
                                        _narvarolistan.Add(narvarande);
                                        antalDeltagare++;
                                        break;
                                    }
                                }
                            }
                            index++;
                        }
                        kolumn++;
                        skickaTillSummering(kolNamn, antalDeltagare, false);
                    }
                    skickaTillSummering(kolNamn, antalDeltagare, true);
                }
                _tbFeedback.Text = sokOk;
            }
        }