예제 #1
0
        private void Presences_Load(object sender, EventArgs e)
        {
            users = UserFacade.GetSectionSquad(secID);
            dataGridView1.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;
            dataGridView1.AllowUserToAddRows = false;

            pres = DependencyFacade.GetPresence();

            for (int i = 0; i < users.Length; i++)
            {
                DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn
                {
                    Name       = users[i].Name + " " + users[i].Surname,
                    HeaderText = users[i].Name + " " + users[i].Surname,
                    FalseValue = 0,
                    TrueValue  = 1
                };
                dataGridView1.Columns.Insert(i, column);
            }

            for (int j = 0; j < pres.Length; j++)
            {
                for (int k = 0; k < users.Length; k++)
                {
                    int id = 0;
                    Students_Groups[] stdgrp = UserFacade.GetGroupStudentID(users[k].ID);
                    for (int l = 0; l < stdgrp.Length; l++)
                    {
                        if (stdgrp[l].Active == true)
                        {
                            id = stdgrp[l].ID;
                        }
                    }
                    if (id == pres[j].Group_StudentID)
                    {
                        var datetime = pres[j].Date;
                        var date     = datetime.ToShortDateString();
                        if (dataGridView1.Rows.Count == 0)
                        {
                            dataGridView1.Rows.Add();
                            dataGridView1.RowHeadersWidth          = 120;
                            dataGridView1.Rows[0].HeaderCell.Value = date;
                            presDates.Add(pres[j].Date);
                        }
                        else
                        {
                            temp = 0;
                            for (int i = 0; i < dataGridView1.Rows.Count; i++)
                            {
                                if (date.Equals(dataGridView1.Rows[i].HeaderCell.Value.ToString()))
                                {
                                    temp = 1;
                                }
                            }
                            if (temp == 0)
                            {
                                dataGridView1.Rows.Add();
                                dataGridView1.RowHeadersWidth = 120;
                                dataGridView1.Rows[dataGridView1.Rows.Count - 1].HeaderCell.Value = date;
                                presDates.Add(pres[j].Date);
                            }
                            temp = 0;
                        }
                    }
                }
            }
            int flag = 0;

            for (int k = 0; k < presDates.Count; k++)
            {
                for (int i = 0; i < dataGridView1.Columns.Count; i++)
                {
                    for (int j = 0; j < pres.Length; j++)
                    {
                        Students_Groups[] stdgrp = UserFacade.GetGroupStudentID(users[i].ID);
                        for (int l = 0; l < stdgrp.Length; l++)
                        {
                            if (stdgrp[l].Active == true)
                            {
                                if (stdgrp[l].ID == pres[j].Group_StudentID && presDates[k] == pres[j].Date)
                                {
                                    dataGridView1[i, k].Value = pres[j].Present;
                                    flag = 1;
                                }
                            }
                        }
                    }
                    if (flag == 0)
                    {
                        dataGridView1[i, k].ReadOnly = true;
                        dataGridView1[i, k].Value    = false;
                    }
                    flag = 0;
                }
            }
        }