Beispiel #1
0
        private async void calcul()
        {
            for (int i = 0; i < listStatementLine.Count; i++)
            {
                int poinLek = Convert.ToInt32(dataGridView1["ColumnPointLek", i].Value);


                await Task.Factory.StartNew(() =>
                {
                    if (poinLek > Convert.ToInt32(tbCountLek.Text))
                    {
                        dataGridView1["ColumnAllPoint", i].Value = CalcPointForCp.CalcScoreGeneral(Convert.ToInt32(tbWeightLek.Text), Convert.ToInt32(tbWeightLab.Text), Convert.ToInt32(tbWeightPrac.Text), Convert.ToInt32(tbWeghtMore.Text),
                                                                                                   Convert.ToInt32(dataGridView1["ColumnPointLek", i].Value), Convert.ToInt32(dataGridView1["ColumnPointLab", i].Value), Convert.ToInt32(dataGridView1["ColumnPointPrac", i].Value), Convert.ToInt32(dataGridView1["ColumnPointMore", i].Value));
                    }
                    else
                    {
                        dataGridView1["ColumnPointLek", i].Value = CalcPointForCp.Calc(Convert.ToInt32(tbCountLek.Text), Convert.ToInt32(dataGridView1["ColumnPointLek", i].Value));
                        dataGridView1["ColumnAllPoint", i].Value = CalcPointForCp.CalcScoreGeneral(Convert.ToInt32(tbWeightLek.Text), Convert.ToInt32(tbWeightLab.Text), Convert.ToInt32(tbWeightPrac.Text), Convert.ToInt32(tbWeghtMore.Text),
                                                                                                   Convert.ToInt32(dataGridView1["ColumnPointLek", i].Value), Convert.ToInt32(dataGridView1["ColumnPointLab", i].Value), Convert.ToInt32(dataGridView1["ColumnPointPrac", i].Value), Convert.ToInt32(dataGridView1["ColumnPointMore", i].Value));
                    }
                });
            }
        }
Beispiel #2
0
        private async void btnCloseTurn_Click(object sender, EventArgs e)
        {
            try
            {
                await Task.Factory.StartNew(() =>
                {
                    InvokeUI(() =>
                    {
                        var nameTypeWorkCColumnIndex = dataGridView1.CurrentCell.ColumnIndex;

                        var nameStudent = dataGridView1.CurrentCell.RowIndex;

                        string typeWorkName = Convert.ToString(dataGridView1.Columns[nameTypeWorkCColumnIndex].HeaderText);

                        string columnName = Convert.ToString(dataGridView1.Columns[nameTypeWorkCColumnIndex].Name);

                        dataGridView2.Visible = false;
                        var idGroup           = reposStud.GetIdGroupForStudent(GroupName);
                        foreach (var item in listTurn.AsParallel())
                        {
                            if (item.Point != 0 && item.Name != String.Empty && item.NameStudent != String.Empty)
                            {
                                var _idTurn = WorkWithDB.GetIdTurn(new Turn(Convert.ToInt32(reposStud.GetIdStudent(item.NameStudent)),
                                                                            WorkWithDB.GetDisciplineId(DisciplineName),
                                                                            Convert.ToInt32(WorkWithDB.GetIdCp(CpName, idGroup, DisciplineName, TermName)),
                                                                            typeWorkName, item.Point, item.Name));
                                if (_idTurn == -1)
                                {
                                    reposTurn.Add(new Turn(Convert.ToInt32(reposStud.GetIdStudent(item.NameStudent)),
                                                           WorkWithDB.GetDisciplineId(DisciplineName),
                                                           Convert.ToInt32(WorkWithDB.GetIdCp(CpName, idGroup, DisciplineName, TermName)),
                                                           typeWorkName, item.Point, item.Name));
                                }
                                else
                                {
                                    reposTurn.Update(new Turn(Convert.ToInt32(reposStud.GetIdStudent(item.NameStudent)),
                                                              WorkWithDB.GetDisciplineId(DisciplineName),
                                                              Convert.ToInt32(WorkWithDB.GetIdCp(CpName, idGroup, DisciplineName, TermName)),
                                                              typeWorkName, item.Point, item.Name));
                                }
                            }
                        }

                        var listWork = new List <Work>();

                        foreach (var itemTurn in listTurn.AsParallel())
                        {
                            listWork.Add(new Work(itemTurn.Name, itemTurn.Point));
                        }

                        dataGridView1[columnName, nameStudent].Value = CalcPointForCp.CalcScoreLabOrPrac(listWork); // Считаем виды работ, в которых есть разворот
                        dataGridView1.ReadOnly = false;
                        calcul();
                        listWork.Clear();
                        listTurn.Clear();
                    });
                });
            }
            catch
            {
                dataGridView1.ReadOnly = false;
                dataGridView2.Visible  = false;
            }
        }