Esempio n. 1
0
 /// <summary>
 /// När en rad markeras så hämtar den aktuella värden från raden. Värdena används sedan till att registrera en deltagare som närvarande
 /// eller inte i metoden andraNarvaro.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void dgvRegistreraNarvaro_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dgvRegistreraNarvaro.SelectedCells.Count > 0)
     {
         narvarolista currentObject = (narvarolista)dgvRegistreraNarvaro.CurrentRow.DataBoundItem;
         narvaro      = currentObject.narvaro;
         personnummer = currentObject.Personnummer;
         grupp        = currentObject.gruppnamn;
         deltagit     = currentObject.deltagit.ToString();
     }
     if (deltagit == "False")
     {
         deltagit = "1";
     }
     else
     {
         deltagit = "0";
     }
 }
Esempio n. 2
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++;
                    }
                }
            }
        }
Esempio n. 3
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;
            }
        }