示例#1
0
        private void FillGridMarks()
        {
            dgvMarks.Columns.Clear();

            DataTable examTable = new DataTable();
            DataSet   ds;
            string    sQuery;

            DataColumn clm;

            clm            = new DataColumn();
            clm.ColumnName = "abitId";
            clm.ReadOnly   = true;
            examTable.Columns.Add(clm);

            clm            = new DataColumn();
            clm.ColumnName = "Рег_номер";
            clm.ReadOnly   = true;
            examTable.Columns.Add(clm);

            clm            = new DataColumn();
            clm.ColumnName = "ФИО";
            clm.ReadOnly   = true;
            examTable.Columns.Add(clm);

            clm            = new DataColumn();
            clm.ColumnName = "Баллы";
            examTable.Columns.Add(clm);


            sQuery = @"SELECT DISTINCT ed.extAbit.Id, RegNum as Рег_номер, ed.extPerson.FIO as ФИО
                     FROM ed.extAbit LEFT JOIN ed.extPerson ON ed.extAbit.PersonId = ed.extPerson.Id ";

            string flt_where     = "";
            string flt_backDoc   = "";
            string flt_enable    = "";
            string flt_protocol  = "";
            string flt_existMark = "";
            string flt_hasExam   = "";
            string flt_notInVed  = "";
            string flt_notAdd    = "";

            flt_backDoc   = " AND ed.extAbit.BackDoc = 0 ";
            flt_enable    = " AND ed.extAbit.NotEnabled = 0 ";
            flt_protocol  = " AND ed.extAbit.Id IN (SELECT AbiturientId FROM ed.extProtocol WHERE ProtocolTypeId = 1 AND IsOld = 0 AND Excluded = 0) ";
            flt_existMark = string.Format(" AND ed.extAbit.Id NOT IN (SELECT ed.qMark.abiturientId FROM ed.qMark INNER JOIN ed.extExamInEntry ON ed.qMark.ExamInEntryId = ed.extExamInEntry.Id WHERE ed.extExamInEntry.ExamId = {0} AND ed.extExamInEntry.FacultyId = {1}) ", _examId, _facultyId);
            flt_hasExam   = string.Format(" AND ed.extAbit.EntryId IN (SELECT ed.extExamInEntry.EntryId FROM ed.extExamInEntry WHERE ed.extExamInEntry.ExamId = {0})", _examId);

            flt_where = string.Format(" WHERE ed.extAbit.FacultyId = {0} {1}", _facultyId, (_studybasisId == null) ? "" : " AND StudyBasisId = " + _studybasisId);

            if (_isAdditional)
            {
                flt_notAdd = Exams.GetFilterForNotAddExam(_examId, _facultyId);
            }

            ds = bdc.GetDataSet(sQuery + flt_where + flt_backDoc + flt_enable + flt_protocol + flt_existMark + flt_hasExam + flt_notInVed + flt_notAdd + " ORDER BY ФИО ");
            foreach (DataRow dsRow in ds.Tables[0].Rows)
            {
                DataRow newRow;
                newRow = examTable.NewRow();
                newRow["Рег_номер"] = dsRow["Рег_Номер"].ToString();
                newRow["ФИО"]       = dsRow["ФИО"].ToString();
                newRow["abitId"]    = dsRow["Id"].ToString();
                examTable.Rows.Add(newRow);
            }

            DataView dv = new DataView(examTable);

            dv.AllowNew = false;

            dgvMarks.DataSource = dv;
            dgvMarks.Columns["abitId"].Visible = false;
            dgvMarks.Update();

            lblCount.Text = dgvMarks.RowCount.ToString();
        }
示例#2
0
        private void Fill_1()
        {
            DateTime _day = _One;

            wc.SetText("подано заявлений всего");
            //подано заявлений всего
            //база "Приём"
            string    query = "SELECT StudyBasisId, SUM(CNT) AS CNT FROM ed.hlpStatistics WHERE Date<=@Date AND StudyLevelGroupId=@SLGId AND StudyFormId='1' GROUP BY StudyBasisId";
            DataTable tbl   = MainClass.Bdc.GetDataSet(query,
                                                       new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];
            int iPriemCountB = tbl.Rows[0].Field <int>("CNT");
            int iPriemCountP = tbl.Rows[1].Field <int>("CNT");

            //онлайн-база иностранцев
            query = string.Format(@"SELECT Entry.StudyBasisId, COUNT(ForeignApplication.Id) AS CNT FROM ForeignApplication 
INNER JOIN Entry ON Entry.Id=ForeignApplication.EntryId 
WHERE Entry.StudyLevelId IN ({0}) AND convert(date, DateOfStart)<=@Date AND Entry.StudyFormId='1' GROUP BY Entry.StudyBasisId", MainClass.studyLevelGroupId == 1 ? "'16', '18'" : "17");
            tbl   = bdcInet.GetDataSet(query, new SortedList <string, object>()
            {
                { "@Date", _day }
            }).Tables[0];
            int iOnlineForeignersB = tbl.Rows[0].Field <int>("CNT");
            int iOnlineForeignersP = tbl.Rows.Count > 1 ? tbl.Rows[1].Field <int>("CNT") : 0;

            tb1_Budzh.Text     = (iOnlineForeignersB + iPriemCountB).ToString();
            tb1_Platn.Text     = (iPriemCountP + iOnlineForeignersP).ToString();
            tb1_FullCount.Text = (iPriemCountB + iPriemCountP + iOnlineForeignersB + iOnlineForeignersP).ToString();
            wc.PerformStep();

            wc.SetText("петербуржцев");
            //петербуржцев
            query = @"SELECT StudyBasisId, COUNT(extAbit.Id) AS CNT FROM ed.extAbit INNER JOIN ed.Person ON Person.Id=extAbit.PersonId 
WHERE convert(date, DocInsertDate) <=@Date AND StudyLevelGroupId=@SLGId AND StudyFormId='1' AND Person.RegionId='1' GROUP BY StudyBasisId";
            tbl   = MainClass.Bdc.GetDataSet(query,
                                             new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];
            tb1_SpbBudzh.Text = tbl.Rows[0].Field <int>("CNT").ToString();
            tb1_SpbPlatn.Text = tbl.Rows[1].Field <int>("CNT").ToString();
            wc.PerformStep();

            wc.SetText("мужчин");
            //мужчин
            query = @"SELECT StudyBasisId, COUNT(extAbit.Id) AS CNT FROM ed.extAbit INNER JOIN ed.Person ON Person.Id=extAbit.PersonId 
WHERE convert(date, DocInsertDate) <=@Date AND StudyLevelGroupId=@SLGId AND StudyFormId='1' AND Person.Sex='True' GROUP BY StudyBasisId";
            tbl   = MainClass.Bdc.GetDataSet(query,
                                             new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];
            tb1_MaleBudzh.Text = tbl.Rows[0].Field <int>("CNT").ToString();
            tb1_MalePlatn.Text = tbl.Rows[1].Field <int>("CNT").ToString();
            wc.PerformStep();

            wc.SetText("Имеющих среднее(полное) среднее образование");
            //школьники
            query = @"SELECT StudyBasisId, COUNT(extAbit.Id) AS CNT FROM ed.extAbit INNER JOIN ed.Person ON Person.Id=extAbit.PersonId 
WHERE convert(date, DocInsertDate) <=@Date AND StudyLevelGroupId=@SLGId AND StudyFormId='1' AND Person.SchoolTypeId='1' GROUP BY StudyBasisId";
            tbl   = MainClass.Bdc.GetDataSet(query,
                                             new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];
            var School = from DataRow rw in tbl.Rows
                         select new
            {
                StudyBasisId = rw.Field <int>("StudyBasisId"),
                CNT          = rw.Field <int>("CNT")
            };

            tb1_SchoolBudzh.Text = School.Where(x => x.StudyBasisId == 1).Select(x => x.CNT).DefaultIfEmpty(0).First().ToString();
            tb1_SchoolPlatn.Text = School.Where(x => x.StudyBasisId == 2).Select(x => x.CNT).DefaultIfEmpty(0).First().ToString();
            wc.PerformStep();

            wc.SetText("Имеющих среднее и высшее профессиональное образование");
            //СПО+ВПО
            query = @"SELECT StudyBasisId, COUNT(extAbit.Id) AS CNT FROM ed.extAbit INNER JOIN ed.Person ON Person.Id=extAbit.PersonId 
WHERE convert(date, DocInsertDate) <=@Date AND StudyLevelGroupId=@SLGId AND StudyFormId='1' AND Person.SchoolTypeId NOT IN ('1', '3') GROUP BY StudyBasisId";
            tbl   = MainClass.Bdc.GetDataSet(query,
                                             new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];
            tb1_ProfBudzh.Text = tbl.Rows[0].Field <int>("CNT").ToString();
            if (tbl.Rows.Count > 1)
            {
                tb1_ProfPlatn.Text = tbl.Rows[1].Field <int>("CNT").ToString();
            }
            wc.PerformStep();

            wc.SetText("Имеющих начальное профессиональное образование");
            //НПО
            query = @"SELECT StudyBasisId, COUNT(extAbit.Id) AS CNT FROM ed.extAbit INNER JOIN ed.Person ON Person.Id=extAbit.PersonId 
WHERE convert(date, DocInsertDate) <=@Date AND StudyLevelGroupId=@SLGId AND StudyFormId='1' AND Person.SchoolTypeId='3' GROUP BY StudyBasisId";
            tbl   = MainClass.Bdc.GetDataSet(query,
                                             new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];
            var NPO = from DataRow rw in tbl.Rows
                      select new
            {
                StudyBasisId = rw.Field <int>("StudyBasisId"),
                CNT          = rw.Field <int>("CNT")
            };

            tb1_NPOBudzh.Text = NPO.Where(x => x.StudyBasisId == 1).Select(x => x.CNT).DefaultIfEmpty(0).First().ToString();
            tb1_NPOPlatn.Text = NPO.Where(x => x.StudyBasisId == 2).Select(x => x.CNT).DefaultIfEmpty(0).First().ToString();
            wc.PerformStep();

            wc.SetText("Победителей и призёров олимпиад");
            //Олимпиадники
            query = @"SELECT StudyBasisId, COUNT(extAbit.Id) AS CNT FROM ed.extAbit WHERE extAbit.Id IN 
(SELECT AbiturientId FROM ed.extOlympiadsAll WHERE OlympTypeId IN ('3', '4') AND OlympValueId IN ('5','6')) 
AND convert(date, DocInsertDate) <=@Date AND StudyLevelGroupId=@SLGId AND StudyFormId='1' GROUP BY StudyBasisId";
            tbl   = MainClass.Bdc.GetDataSet(query,
                                             new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];
            var Olymps = from DataRow rw in tbl.Rows
                         select new
            {
                StudyBasisId = rw.Field <int>("StudyBasisId"),
                CNT          = rw.Field <int>("CNT")
            };

            tb1_OlympBudzh.Text = Olymps.Where(x => x.StudyBasisId == 1).Select(x => x.CNT).DefaultIfEmpty(0).First().ToString();
            tb1_OlympPlatn.Text = Olymps.Where(x => x.StudyBasisId == 2).Select(x => x.CNT).DefaultIfEmpty(0).First().ToString();
            wc.PerformStep();

            wc.SetText("в/к");
            //в\к
            query = @"SELECT StudyBasisId, COUNT(extAbit.Id) AS CNT FROM ed.extAbit WHERE extAbit.CompetitionId IN ('2', '7') 
AND convert(date, DocInsertDate) <=@Date AND StudyLevelGroupId=@SLGId AND StudyFormId='1' GROUP BY StudyBasisId";
            tbl   = MainClass.Bdc.GetDataSet(query,
                                             new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];
            var VK = from DataRow rw in tbl.Rows
                     select new
            {
                StudyBasisId = rw.Field <int>("StudyBasisId"),
                CNT          = rw.Field <int>("CNT")
            };

            tb1_VKBudzh.Text = VK.Where(x => x.StudyBasisId == 1).Select(x => x.CNT).DefaultIfEmpty(0).First().ToString();
            tb1_VKPlatn.Text = VK.Where(x => x.StudyBasisId == 2).Select(x => x.CNT).DefaultIfEmpty(0).First().ToString();
            wc.PerformStep();

            wc.SetText("Победителей и призёров олимпиад");
            //иностранцы
            query = @"SELECT StudyBasisId, COUNT(extAbit.Id) AS CNT FROM ed.extAbit INNER JOIN ed.Person ON Person.Id=extAbit.PersonId 
WHERE convert(date, DocInsertDate) <=@Date AND StudyLevelGroupId=@SLGId AND StudyFormId='1' AND Person.CountryId<>'1' GROUP BY StudyBasisId";
            tbl   = MainClass.Bdc.GetDataSet(query,
                                             new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];

            int iPriemForeignersB = tbl.Rows[0].Field <int>("CNT");
            int iPriemForeignersP = tbl.Rows.Count > 1 ? tbl.Rows[1].Field <int>("CNT") : 0;

            tb1_ForeignBudzh.Text = (iPriemForeignersB + iOnlineForeignersB).ToString();
            tb1_ForeignPlatn.Text = (iPriemForeignersP + iOnlineForeignersP).ToString();
            wc.PerformStep();

            wc.SetText("Граждане б. СССР, кр. России");
            //USSR
            query = @"SELECT StudyBasisId, COUNT(extAbit.Id) AS CNT FROM ed.extAbit INNER JOIN ed.Person ON Person.Id=extAbit.PersonId 
WHERE convert(date, DocInsertDate) <=@Date AND StudyLevelGroupId=@SLGId AND StudyFormId='1' AND Person.CountryId NOT IN ('1', '6') GROUP BY StudyBasisId";
            tbl   = MainClass.Bdc.GetDataSet(query,
                                             new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];
            int iPriemUSSRB = tbl.Rows[0].Field <int>("CNT");
            int iPriemUSSRP = tbl.Rows.Count > 1 ? tbl.Rows[1].Field <int>("CNT") : 0;

            query = string.Format(@"SELECT Entry.StudyBasisId, SUM(ForeignApplication.Id) AS CNT FROM ForeignApplication 
INNER JOIN Entry ON Entry.Id=ForeignApplication.EntryId INNER JOIN ForeignPerson ON ForeignPerson.Id=ForeignApplication.PersonId 
");

            tb1_USSRBudzh.Text = tbl.Rows[0].Field <int>("CNT").ToString();
            tb1_USSRPlatn.Text = tbl.Rows[1].Field <int>("CNT").ToString();
            wc.PerformStep();

            wc.SetText("Макс. конкурс " + _One.ToShortDateString());
            //max concurs
            query = @"SELECT TOP 1
  t.[LicenseProgramCode] + ' ' + t.[LicenseProgramName] AS Name, convert(float,t.[_cnt]) / (convert(float,t.[_sum])) AS conk
  FROM 
(
SELECT     StudyLevelGroupId, LicenseProgramId, LicenseProgramCode, LicenseProgramName, StudyFormId, StudyBasisId, SUM(KCP) AS _sum,
                          (SELECT     COUNT(Id) AS Expr1
                            FROM          ed.extAbit
                            WHERE      (StudyLevelGroupId = ed.qEntry.StudyLevelGroupId) AND (LicenseProgramId = ed.qEntry.LicenseProgramId) AND 
                                                   (StudyFormId = ed.qEntry.StudyFormId) AND (StudyBasisId = ed.qEntry.StudyBasisId) AND convert(date, DocInsertDate) <=@Date) AS _cnt
FROM         ed.qEntry
GROUP BY StudyLevelGroupId, LicenseProgramId, LicenseProgramCode, LicenseProgramName, StudyFormId, StudyBasisId
) t
  WHERE t.[StudyLevelGroupId] = @SLGId AND t.StudyFormId = 1 AND t.StudyBasisId = 1
  ORDER BY conk DESC";
            tbl   = MainClass.Bdc.GetDataSet(query,
                                             new SortedList <string, object>()
            {
                { "@Date", _day }, { "@SLGId", MainClass.studyLevelGroupId }
            }).Tables[0];
            tb1_MaxConcurs.Text = Math.Round(tbl.Rows[0].Field <double>("conk"), 2).ToString() + " " + tbl.Rows[0].Field <string>("Name");
            wc.PerformStep();

            tb1_.Text = DateTime.Now < _day?DateTime.Now.ToShortDateString() : _day.ToShortDateString();
        }
示例#3
0
        private void btnLoad_Click(object sender, EventArgs e)
        {
            if (MainClass.IsCryptoMain() || MainClass.IsPasha())
            {
                try
                {
                    using (PriemEntities context = new PriemEntities())
                    {
                        using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.RequiresNew))
                        {
                            int marksCount = 0;

                            foreach (DataGridViewRow dgvr in dgvMarks.Rows)
                            {
                                string balWr = dgvr.Cells["Баллы (письм)"].Value == null ? string.Empty : dgvr.Cells["Баллы (письм)"].Value.ToString();
                                string balOr = dgvr.Cells["Баллы (устные)"].Value == null ? string.Empty : dgvr.Cells["Баллы (устные)"].Value.ToString();
                                string valWr = dgvr.Cells["Баллы(письм) по аппеляции"].Value == null ? string.Empty : dgvr.Cells["Баллы(письм) по аппеляции"].Value.ToString();
                                string valOr = dgvr.Cells["Баллы (устные) по аппеляции"].Value == null ? string.Empty : dgvr.Cells["Баллы (устные) по аппеляции"].Value.ToString();

                                if (string.IsNullOrEmpty(balWr) && string.IsNullOrEmpty(balOr))
                                {
                                    continue;
                                }

                                if (string.IsNullOrEmpty(valWr) && string.IsNullOrEmpty(valOr))
                                {
                                    continue;
                                }

                                Guid persId  = new Guid(dgvr.Cells["PersonId"].Value.ToString());
                                int  persNum = int.Parse(dgvr.Cells["Номер"].Value.ToString());

                                int mrkWrTmp;
                                int mrkOrTmp;

                                int?mrkWr;
                                int?mrkOr;

                                if (string.IsNullOrEmpty(valWr))
                                {
                                    mrkWr = null;
                                }
                                else if (!(int.TryParse(valWr, out mrkWrTmp) && mrkWrTmp >= 0 && mrkWrTmp < 101))
                                {
                                    dgvMarks.CurrentCell = dgvr.Cells["Баллы(письм) по аппеляции"];
                                    WinFormsServ.Error(dgvr.Cells["ФИО"].Value.ToString() + ": неправильно введены данные");
                                    return;
                                }
                                else
                                {
                                    mrkWr = mrkWrTmp;
                                }

                                if (string.IsNullOrEmpty(valOr))
                                {
                                    mrkOr = null;
                                }
                                else if (!(int.TryParse(valOr, out mrkOrTmp) && mrkOrTmp >= 0 && mrkOrTmp < 101))
                                {
                                    dgvMarks.CurrentCell = dgvr.Cells["Баллы (устные) по аппеляции"];
                                    WinFormsServ.Error(dgvr.Cells["ФИО"].Value.ToString() + ": неправильно введены данные");
                                    return;
                                }
                                else
                                {
                                    mrkOr = mrkOrTmp;
                                }

                                context.ExamsVedHistory_UpdateMarkAppeal(_vedId, persId, persNum, mrkWr);
                                context.ExamsVedHistory_UpdateMarkOralAppeal(_vedId, persId, persNum, mrkOr);

                                DataSet ds = bdc.GetDataSet(string.Format("SELECT Id, EntryId FROM ed.qAbiturient WHERE PersonId = '{0}' AND FacultyId={1} {2}", persId.ToString(), _facultyId, _studybasisId == "" ? "" : " AND ed.qAbiturient.StudyBasisId = " + _studybasisId));
                                foreach (DataRow row in ds.Tables[0].Rows)
                                {
                                    string examInPr = Exams.GetExamInEntryId(_examId, row["EntryId"].ToString());
                                    Guid   abitId   = new Guid(row["Id"].ToString());

                                    if (string.IsNullOrEmpty(examInPr))
                                    {
                                        continue;
                                    }

                                    int examInEntryId = int.Parse(examInPr);

                                    int?sumMark = 0;
                                    if (mrkWr == null && mrkOr == null)
                                    {
                                        sumMark = null;
                                    }
                                    else
                                    {
                                        sumMark = (mrkWr ?? 0) + (mrkOr ?? 0);
                                    }

                                    int cnt = (from mrk in context.qMark
                                               where mrk.ExamInEntryId == examInEntryId && mrk.AbiturientId == abitId
                                               select mrk).Count();

                                    if (cnt > 0)
                                    {
                                        context.Mark_updateByAbVedId(abitId, examInEntryId, sumMark, _dateExam, _vedId);
                                        marksCount++;
                                    }
                                }
                            }
                            transaction.Complete();
                            MessageBox.Show(marksCount + " записей изменено.", "Выполнено");
                        }
                    }
                }

                catch (Exception exc)
                {
                    WinFormsServ.Error("Ошибка сохранения данных: \n" + exc.Message);
                    return;
                }
            }
        }
示例#4
0
        private void btnLoad_Click(object sender, EventArgs e)
        {
            try
            {
                using (PriemEntities context = new PriemEntities())
                {
                    int marksCount = 0;

                    SortedList <string, string> slAbitsWithMark = new SortedList <string, string>();

                    string flt = "";
                    flt += " AND ed.qAbiturient.BackDoc = 0 ";
                    flt += " AND ed.qAbiturient.NotEnabled = 0 ";
                    flt += " AND ed.qAbiturient.Id IN (SELECT AbiturientId FROM ed.extProtocol WHERE ProtocolTypeId = 1 AND IsOld = 0 AND Excluded = 0) ";
                    flt += " AND ed.qAbiturient.StudyLevelGroupId = " + MainClass.studyLevelGroupId;
                    flt += string.Format(" AND ed.qAbiturient.EntryId IN (SELECT EntryId FROM ed.extExamInEntry WHERE ExamId = {0})", _examId);

                    string flt_fac = "";
                    if (_isAdditional)
                    {
                        flt_fac = " AND FacultyId = " + _facultyId;
                    }

                    foreach (DataGridViewRow dgvr in dgvMarks.Rows)
                    {
                        string val = dgvr.Cells["Баллы"].Value.ToString();
                        if (dgvr.Cells["Баллы"].Value == null || val.CompareTo("") == 0)
                        {
                            continue;
                        }

                        string perId = dgvr.Cells["PersonId"].Value.ToString();

                        if (_studybasisId == "2")
                        {
                            DataSet dsAbit = bdc.GetDataSet(string.Format(@"SELECT ed.qAbiturient.Id, ed.qMark.Value FROM ed.qAbiturient 
                                LEFT JOIN (ed.qMark INNER JOIN ed.extExamInEntry ON ed.qMark.ExamInEntryId = ed.extExamInEntry.Id) 
                                ON ed.qMark.AbiturientId = ed.qAbiturient.Id AND ed.extExamInEntry.ExamId = {1} 
                                WHERE ed.qAbiturient.PersonId = '{0}' AND ed.qAbiturient.StudyBasisId = 2 {2} {3}", perId, _examId, flt, flt_fac));

                            foreach (DataRow dra in dsAbit.Tables[0].Rows)
                            {
                                if (dra["Value"] == null || dra["Value"].ToString() == "")
                                {
                                    slNewMark.Add(dra["Id"].ToString(), val);
                                }
                                else
                                {
                                    slAbitsWithMark.Add(dra["Id"].ToString(), val);
                                }
                            }
                        }
                        else
                        {
                            DataSet ds = bdc.GetDataSet(string.Format("SELECT ed.qAbiturient.Id FROM ed.qAbiturient WHERE PersonId = '{0}' {1} {2} {3}", perId, flt_fac, _studybasisId == "" ? "" : " AND qAbiturient.StudyBasisId = " + _studybasisId, flt));
                            foreach (DataRow row in ds.Tables[0].Rows)
                            {
                                if (int.Parse(bdc.GetStringValue(string.Format("SELECT Count(ed.qMark.Id) FROM ed.qMark INNER JOIN ed.extExamInEntry ON ed.qMark.ExamInEntryId = ed.extExamInEntry.Id WHERE ed.extExamInEntry.ExamId = '{0}' AND AbiturientId = '{1}'", _examId, row["Id"].ToString()))) > 0)
                                {
                                    continue;
                                }

                                slNewMark.Add(row["Id"].ToString(), val);
                            }
                        }
                    }

                    if (slAbitsWithMark.Count > 0)
                    {
                        SetNewMark frm = new SetNewMark(this, _examId, _dateExam, slAbitsWithMark);
                        frm.ShowDialog();
                    }

                    //using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.RequiresNew))
                    //{
                    foreach (string abId in slNewMark.Keys)
                    {
                        DataSet dss = bdc.GetDataSet(string.Format("SELECT Id, EntryId FROM ed.qAbiturient WHERE Id = '{0}' ", abId));
                        DataRow drr = dss.Tables[0].Rows[0];

                        string examInPr = Exams.GetExamInEntryId(_examId, drr["EntryId"].ToString());

                        Guid abitId        = new Guid(abId);
                        int  examInEntryId = int.Parse(examInPr);
                        int  val           = int.Parse(slNewMark[abId]);

                        int cnt = (from mrk in context.qMark
                                   where mrk.ExamInEntryId == examInEntryId && mrk.AbiturientId == abitId
                                   select mrk).Count();

                        if (cnt > 0)
                        {
                            continue;
                        }

                        List <string> list = Exams.GetExamIdsInEntry(drr["EntryId"].ToString());

                        if (list.Contains(_examId))
                        {
                            context.Mark_Insert(abitId, examInEntryId, val, _dateExam, false, false, false, _vedId, null, null);
                            marksCount++;
                        }
                    }

                    foreach (string abId in slReplaceMark.Keys)
                    {
                        DataSet dss = bdc.GetDataSet(string.Format("SELECT Id, EntryId FROM ed.qAbiturient WHERE Id = '{0}' ", abId));
                        DataRow drr = dss.Tables[0].Rows[0];

                        string        examInPr = Exams.GetExamInEntryId(_examId, drr["EntryId"].ToString());
                        List <string> list     = Exams.GetExamIdsInEntry(drr["EntryId"].ToString());
                        if (list.Contains(_examId))
                        {
                            Guid abitId        = new Guid(abId);
                            int  examInEntryId = int.Parse(examInPr);
                            int  val           = int.Parse(slReplaceMark[abId]);

                            context.Mark_DeleteByAbitExamId(abitId, examInEntryId);
                            context.Mark_Insert(abitId, examInEntryId, val, _dateExam, false, false, false, _vedId, null, null);

                            marksCount++;
                        }
                    }

                    context.ExamsVed_UpdateLoad(true, _vedId);

                    // transaction.Complete();

                    lblIsLoad.Text  = "Загружена";
                    btnLoad.Enabled = false;
                    // }

                    MessageBox.Show(marksCount + " записей добавлено.", "Выполнено");
                }
            }
            catch (Exception exc)
            {
                WinFormsServ.Error(exc.Message);
            }
        }
示例#5
0
        private void btnCreateCsv_Click(object sender, EventArgs e)
        {
            string fName;

            string query = @"SELECT DISTINCT ed.extPerson.Id, ed.extPerson.PersonNum as regnum, ed.extPerson.Surname, ed.extPerson.Name, ed.extPerson.SecondName, 
                    CAST((STR( DAY( ed.extPerson.Birthdate ) ) + '/' +STR( MONTH( ed.extPerson.Birthdate ) ) + '/' +STR( YEAR( ed.extPerson.Birthdate )))AS DATETIME) as birthdate ";

            // если по выбрана конкр. ауд.
            if (ExamVedRoomId != null)
            {
                query += " FROM ed.extPerson INNER JOIN ed.ExamsVedRoomHistory ON ed.ExamsVedRoomHistory.PersonId = ed.extPerson.Id " +
                         string.Format("WHERE ed.ExamsVedRoomHistory.ExamsVedRoomId = '{0}' ", ExamVedRoomId.ToString());

                fName = cbExamVed.Text + ", " + cbExamVedRoom.Text;
            }

            else if (ExamVedId != null)
            {
                query += " FROM ed.extPerson INNER JOIN ed.ExamsVedHistory ON ed.ExamsVedHistory.PersonId = ed.extPerson.Id " +
                         string.Format("WHERE ed.ExamsVedHistory.ExamsVedId = '{0}' ", ExamVedId.ToString());

                fName = cbExamVed.Text;
            }
            else
            {
                return;
            }

            try
            {
                fName = fName.Replace("/", "_");
                fName = fName.Replace(":", "-");

                SaveFileDialog sfd = new SaveFileDialog();
                sfd.FileName = fName + ".csv";
                sfd.Filter   = "CSV files|*.csv";

                if (sfd.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                using (StreamWriter writer = new StreamWriter(sfd.OpenFile(), Encoding.GetEncoding(1251)))
                {
                    DataSet dsExam = bdc.GetDataSet(string.Format(@"SELECT ed.extExamsVed.Id, ed.extExamsVed.Number, ed.extExamsVed.Date AS ExamDate, ed.extExamsVed.ExamName 
                                                                    FROM ed.extExamsVed WHERE ed.extExamsVed.Id = '{0}'", ExamVedId.ToString()));
                    DataRow dr     = dsExam.Tables[0].Rows[0];

                    // если есть разделение по аудиториям, то получим его
                    DataSet dsAudAbits = bdc.GetDataSet(string.Format(@"SELECT ed.ExamsVedHistory.PersonId, ed.ExamsVedRoom.RoomNumber, ed.extPerson.Num 
                                                                        FROM ed.ExamsVedHistory LEFT OUTER JOIN ed.ExamsVedRoomHistory 
                                                                        ON ed.ExamsVedRoomHistory.PersonId = ed.ExamsVedHistory.PersonId LEFT OUTER JOIN 
                                                                        ed.ExamsVedRoom ON ed.ExamsVedRoomHistory.ExamsVedRoomId = ed.ExamsVedRoom.Id 
                                                                        INNER JOIN ed.extPerson ON ed.extPerson.Id = ed.ExamsVedHistory.PersonId
                                                                        WHERE ed.ExamsVedHistory.ExamsVedId = '{0}'", ExamVedId.ToString()));

                    List <string> list = new List <string>();
                    list.Add(dr["ExamName"].ToString());
                    list.Add(dr["Number"].ToString());
                    list.Add(DateTime.Parse(dr["ExamDate"].ToString()).ToString("dd/MM/yyyy"));
                    writer.WriteLine(string.Join("%", list.ToArray()));

                    DataSet ds = MainClass.Bdc.GetDataSet(query);
                    foreach (DataRow row in ds.Tables[0].Rows)
                    {
                        list = new List <string>();

                        list.Add(row["regnum"].ToString());
                        list.Add(row["surname"].ToString());
                        list.Add(row["name"].ToString());
                        list.Add(row["secondname"].ToString());
                        list.Add(DateTime.Parse(row["birthdate"].ToString()).ToString("dd/MM/yyyy"));

                        string audNum = (
                            from DataRow x in dsAudAbits.Tables[0].Rows
                            where x["Num"].ToString() == row["regnum"].ToString()
                            select x["RoomNumber"].ToString() == "" ? "общ" : x["RoomNumber"].ToString()
                            ).DefaultIfEmpty <string>("н.указ").ToList <string>()[0];

                        list.Add(audNum);

                        writer.WriteLine(string.Join("%", list.ToArray()));
                    }
                }
            }
            catch (Exception exc)
            {
                WinFormsServ.Error("Ошибка при экспорте: " + exc.Message);
            }
        }
示例#6
0
        public static void ImportMagAbits()
        {
            List <string> lstPersons = new List <string>();
            List <string> lstAbits   = new List <string>();

            LoadFromInet loadClass = new LoadFromInet();
            DBPriem      _bdcInet  = loadClass.BDCInet;

            using (PriemEntities context = new PriemEntities())
            {
                string  _sQuery = @"SELECT DISTINCT qAbiturient.Id, qAbiturient.PersonId, qAbiturient.Barcode AS AbitBarcode, extPerson.Barcode AS PersonBarcode
                              FROM qAbiturient INNER JOIN extPerson ON qAbiturient.PersonId = extPerson.Id WHERE StudyLevelId = 17 AND Enabled = 1 AND IsApprovedByComission = 1 AND IsImported = 0";
                DataSet ds      = _bdcInet.GetDataSet(_sQuery);

                Guid?personId;
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    int?abitBarcode = (int?)dr["AbitBarcode"];
                    if (!MainClass.CheckAbitBarcode(abitBarcode))
                    {
                        continue;
                    }


                    int?persBarcode = (int?)dr["PersonBarcode"];
                    if (!MainClass.CheckPersonBarcode(persBarcode))
                    {
                        personId = (from pers in context.extForeignPerson
                                    where pers.Barcode == persBarcode
                                    select pers.Id).FirstOrDefault();
                    }
                    else
                    {
                        extPersonAll person = loadClass.GetPersonByBarcode(persBarcode.Value);

                        if (!CheckIdent(person))
                        {
                            lstPersons.Add(persBarcode.ToString());
                            continue;
                        }

                        ObjectParameter entId = new ObjectParameter("id", typeof(Guid));
                        context.Person_Foreign_insert(person.Barcode, person.Name, person.SecondName, person.Surname, person.BirthDate, person.BirthPlace, person.PassportTypeId,
                                                      person.PassportSeries, person.PassportNumber, person.PassportAuthor, person.PassportDate, person.Sex, person.CountryId, person.NationalityId,
                                                      person.RegionId, person.Phone, person.Mobiles, person.Email,
                                                      person.Code, person.City, person.Street, person.House, person.Korpus, person.Flat,
                                                      person.CodeReal, person.CityReal, person.StreetReal, person.HouseReal, person.KorpusReal, person.FlatReal,
                                                      person.HostelAbit, false, null, false, null, person.IsExcellent,
                                                      person.LanguageId, person.SchoolCity, person.SchoolTypeId, person.SchoolName, person.SchoolNum, person.SchoolExitYear, person.SchoolAVG,
                                                      person.ForeignCountryEducId, person.RegionEducId, person.IsEqual, person.EqualDocumentNumber, person.HasTRKI, person.TRKICertificateNumber,
                                                      person.AttestatRegion, person.AttestatSeries, person.AttestatNum, person.DiplomSeries, person.DiplomNum,
                                                      person.HighEducation, person.HEProfession, person.HEQualification, person.HEEntryYear, person.HEExitYear, person.HEStudyFormId,
                                                      person.HEWork, person.Stag, person.WorkPlace, person.Privileges, person.PassportCode,
                                                      person.PersonalCode, person.PersonInfo, person.ExtraInfo, person.ScienceWork, person.StartEnglish, person.EnglishMark, entId);

                        //_bdcInet.ExecuteQuery("UPDATE Person SET IsImported = 1 WHERE Person.Barcode = " + persBarcode);

                        personId = (Guid)entId.Value;
                    }

                    qAbiturient abit = loadClass.GetAbitByBarcode(abitBarcode.Value);

                    int cnt = (from en in context.qEntry
                               where en.Id == abit.EntryId && !en.IsClosed
                               select en).Count();

                    if (cnt == 0)
                    {
                        lstAbits.Add(abitBarcode.ToString());
                        continue;
                    }

                    ObjectParameter abEntId = new ObjectParameter("id", typeof(Guid));

                    int competitionId;
                    if (abit.StudyBasisId == 1)
                    {
                        competitionId = 4;
                    }
                    else
                    {
                        competitionId = 3;
                    }

                    context.Abiturient_Insert(personId, abit.EntryId, competitionId, false, false, false, false, null, abit.DocDate, DateTime.Now,
                                              false, false, null, null, null, null, abit.LanguageId, false,
                                              abit.Priority, abit.Barcode, abit.CommitId, abit.CommitNumber, abit.IsGosLine, abEntId);

                    // _bdcInet.ExecuteQuery("UPDATE Application SET IsImported = 1 WHERE Application.Barcode = " + abitBarcode);
                }
            }
        }
示例#7
0
        private void SetMarksForExam(int?examId)
        {
            try
            {
                using (PriemEntities context = new PriemEntities())
                {
                    int examInostr = 65;
                    int filFacId   = 18;

                    string flt_backDoc  = " AND ed.qAbiturient.BackDoc = 0  ";
                    string flt_enable   = " AND ed.qAbiturient.NotEnabled = 0 ";
                    string flt_protocol = " AND ProtocolTypeId = 1 AND IsOld = 0 AND Excluded = 0 ";
                    string flt_status   = " AND ed.extFBSStatus.FBSStatusId IN (1,4) ";
                    string flt_mark     = string.Format(" AND NOT EXISTS( SELECT ed.Mark.Value FROM ed.Mark INNER JOIN ed.extExamInEntry ON ed.Mark.ExamInEntryId = ed.extExamInEntry.Id WHERE ed.Mark.AbiturientId = ed.qAbiturient.Id AND ed.extExamInEntry.ExamId = {0} AND ed.extExamInEntry.IsAdditional=0) ", examId);
                    string flt_hasEge   = string.Format(" AND ed.Person.Id IN (SELECT PersonId FROM  ed.extEgeMark LEFT JOIN ed.EgeToExam ON ed.extEgeMark.EgeExamNameId = ed.EgeToExam.EgeExamNameId WHERE ed.EgeToExam.ExamId = {0})", examId);
                    string flt_hasExam  = string.Format(" AND ed.qAbiturient.EntryId IN (SELECT ed.extExamInEntry.EntryId FROM ed.extExamInEntry WHERE ed.extExamInEntry.ExamId = {0})", examId);

                    string queryAbits = @"SELECT ed.qAbiturient.Id, ed.qAbiturient.FacultyId, ed.qAbiturient.EntryId FROM ed.qAbiturient 
                            LEFT JOIN ed.Person ON ed.qAbiturient.PersonId = ed.Person.Id LEFT JOIN ed.extFBSStatus ON ed.extFBSStatus.PersonId = Person.Id 
                            LEFT JOIN ed.extProtocol ON extProtocol.AbiturientId = qAbiturient.Id WHERE 1 = 1 ";

                    DataSet ds = bdc.GetDataSet(queryAbits + GetAbitFilterString() + flt_backDoc + flt_enable + flt_protocol + flt_status + flt_mark + flt_hasExam + flt_hasEge);

                    wtc.pBar.Maximum += ds.Tables[0].Rows.Count;

                    //using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.RequiresNew))
                    //{
                    try
                    {
                        foreach (DataRow dsRow in ds.Tables[0].Rows)
                        {
                            int? balls   = null;
                            Guid abId    = new Guid(dsRow["Id"].ToString());
                            Guid entryId = new Guid(dsRow["EntryId"].ToString());

                            int?exInEntryId = (from eie in context.extExamInEntry
                                               where eie.EntryId == entryId && eie.ExamId == examId
                                               select eie.Id).FirstOrDefault();

                            if (exInEntryId == null)
                            {
                                continue;
                            }

                            Guid egeCertificateId;

                            if (examId != examInostr)
                            {
                                balls = (from emm in context.extEgeMarkMaxAbit
                                         join ete in context.EgeToExam
                                         on emm.EgeExamNameId equals ete.EgeExamNameId
                                         where emm.AbiturientId == abId && ete.ExamId == examId
                                         select emm.Value).Max();
                                egeCertificateId = (from emm in context.extEgeMarkMaxAbit
                                                    join ete in context.EgeToExam
                                                    on emm.EgeExamNameId equals ete.EgeExamNameId
                                                    where emm.AbiturientId == abId && ete.ExamId == examId && emm.Value == balls
                                                    select emm.EgeCertificateId).FirstOrDefault();
                            }
                            else
                            {
                                List <int> lstInostr = (from ete in context.EgeToExam
                                                        where ete.ExamId == examInostr
                                                        select ete.EgeExamNameId).ToList <int>();

                                if (dsRow["FacultyId"].ToString() == filFacId.ToString())
                                {
                                    int?egeExamNameId = (from etl in context.EgeToLanguage
                                                         join ab in context.qAbiturient
                                                         on etl.LanguageId equals ab.LanguageId
                                                         where etl.ExamId == examInostr && ab.Id == abId
                                                         select etl.EgeExamNameId).FirstOrDefault();

                                    if (egeExamNameId != null)
                                    {
                                        balls = (from emm in context.extEgeMarkMaxAbit
                                                 where emm.AbiturientId == abId && emm.EgeExamNameId == egeExamNameId
                                                 select emm.Value).Max();
                                    }

                                    egeCertificateId = (from emm in context.extEgeMarkMaxAbit
                                                        join ete in context.EgeToExam
                                                        on emm.EgeExamNameId equals ete.EgeExamNameId
                                                        where emm.AbiturientId == abId && ete.ExamId == examId && emm.Value == balls
                                                        select emm.EgeCertificateId).FirstOrDefault();
                                }
                                else
                                {
                                    int cntEM = (from emm in context.extEgeMarkMaxAbit
                                                 where lstInostr.Contains(emm.EgeExamNameId) && emm.AbiturientId == abId
                                                 select emm.EgeMarkId).Count();

                                    if (cntEM > 1)
                                    {
                                        int?egeExamNameId = (from etl in context.EgeToLanguage
                                                             join ab in context.qAbiturient
                                                             on etl.LanguageId equals ab.LanguageId
                                                             where etl.ExamId == examInostr && ab.Id == abId
                                                             select etl.EgeExamNameId).FirstOrDefault();

                                        if (egeExamNameId != null)
                                        {
                                            balls = (from emm in context.extEgeMarkMaxAbit
                                                     where emm.AbiturientId == abId && emm.EgeExamNameId == egeExamNameId
                                                     select emm.Value).Max();
                                        }
                                        egeCertificateId =
                                            (from emm in context.extEgeMarkMaxAbit
                                             join ete in context.EgeToExam
                                             on emm.EgeExamNameId equals ete.EgeExamNameId
                                             where emm.AbiturientId == abId && ete.ExamId == examId && emm.Value == balls
                                             select emm.EgeCertificateId).FirstOrDefault();
                                    }
                                    else
                                    {
                                        balls = (from emm in context.extEgeMarkMaxAbit
                                                 join ete in context.EgeToExam
                                                 on emm.EgeExamNameId equals ete.EgeExamNameId
                                                 where emm.AbiturientId == abId && ete.ExamId == examId
                                                 select emm.Value).Max();

                                        egeCertificateId =
                                            (from emm in context.extEgeMarkMaxAbit
                                             join ete in context.EgeToExam
                                             on emm.EgeExamNameId equals ete.EgeExamNameId
                                             where emm.AbiturientId == abId && ete.ExamId == examId && emm.Value == balls
                                             select emm.EgeCertificateId).FirstOrDefault();
                                    }
                                }
                            }

                            if (balls != null)
                            {
                                context.Mark_Insert(abId, exInEntryId, balls, dtDateExam.Value.Date, true, false, false, null, null, egeCertificateId);
                            }
                            else
                            {
                                continue;
                            }

                            wtc.PerformStep();
                            marksCount++;
                        }

                        //transaction.Complete();
                    }
                    catch (Exception exc)
                    {
                        throw new Exception("Ошибка загрузки оценок1: " + exc.Message);
                    }
                    // }
                }
            }
            catch (Exception ex)
            {
                WinFormsServ.Error("Ошибка загрузки оценок " + ex.Message);
                wtc.Close();
            }
        }
示例#8
0
        private SortedList <string, string> FillColumns()
        {
            SortedList <string, string> list = new SortedList <string, string>();

            list.Add("Рег_номер", "Рег. номер");
            list.Add("Ид_номер", "Идент. номер");
            list.Add("Фамилия", "Фамилия");
            list.Add("Имя", "Имя");
            list.Add("Отчество", "Отчество");
            list.Add("ФИО", "ФИО");
            list.Add("Дата_рождения", "Дата рождения");
            list.Add("Место_рождения", "Место рождения");
            list.Add("Тип_паспорта", "Тип паспорта");
            list.Add("Серия_паспорта", "Серия паспорта");
            list.Add("Номер_паспорта", "Номер паспорта");
            list.Add("Кем_выдан_паспорт", "Кем выдан паспорт");
            list.Add("Дата_выдачи_паспорта", "Дата выдачи паспорта");
            list.Add("Код_подразделения_паспорта", "Код подразделения (паспорт)");
            list.Add("Личный_код_паспорт", "Личный код (паспорт)");
            list.Add("Пол_мужской", "Пол");
            list.Add("Телефон", "Телефон");
            list.Add("Email", "E-mail");
            list.Add("Адрес_регистрации", "Адрес регистрации");
            list.Add("Адрес_проживания", "Адрес проживания");
            list.Add("Страна", "Страна");
            list.Add("Гражданство", "Гражданство");
            list.Add("Регион", "Регион");
            list.Add("Предоставлять_общежитие_поступление", "Предоставлять общежитие на время поступления");
            list.Add("Выдано_направление_на_поселение", "Выдано направление на поселение");
            list.Add("Факультет_выдавший_направление", "Факультет, выдавший направление");
            list.Add("Ин_язык", "Ин. язык испытания");
            list.Add("Страна_получ_пред_образ", "Страна получения пред.образования");
            list.Add("Название_уч_заведения", "Название уч. заведения");
            list.Add("Предоставлять_общежитие_обучение", "Предоставлять общежитие на время обучения");
            list.Add("Протокол_о_допуске", "Протокол о допуске");
            list.Add("Представление", "Представление к зачислению");
            list.Add("Коэффициент_полупрохода", "Рейтинговый коэффициент");
            list.Add("Сумма_баллов", "Сумма баллов");
            list.Add("Номер_зачетки", "Номер зачетной книжки");
            list.Add("Целевик_тип", "Тип целевика");
            list.Add("Средний_балл_сессии", "Средний балл сессии");
            list.Add("Статус_студента", "Статус студента");
            list.Add("Приоритет", "Приоритет");
            list.Add("Доп_контакты", "Доп. контакты");
            list.Add("Данные_о_родителях", "Данные о родителях");

            list.Add("Слушатель", "Слушатель");
            list.Add("Оплатил", "Оплатил");
            list.Add("Забрал_док", "Забрал док.");
            list.Add("Данные_проверены", "Данные проверены");
            list.Add("Дата_возврата_док", "Дата возврата док.");
            list.Add("Дата_подачи_док", "Дата подачи док.");
            list.Add("Поданы_подлинник_атт", "Подан подлинник документа об образовании");
            list.Add("Подал_подлинники", "Подал подлинники");

            list.Add("Факультет", "Факультет");
            list.Add("Направление", "Направление");
            list.Add("Образ_программа", "Образовательная программа");
            list.Add("Код_направления", "Код направления");
            list.Add("Форма_обучения", "Форма обучения");
            list.Add("Основа_обучения", "Основа обучения");
            list.Add("Тип_конкурса", "Тип конкурса");
            list.Add("Доп_тип_конкурса", "Доп. тип конкурса");

            list.Add("сирота", "сирота");
            list.Add("чернобылец", "чернобылец");
            list.Add("военнослужащий", "военнослужащий");
            list.Add("полусирота", "полусирота");
            list.Add("инвалид", "инвалид");
            list.Add("уч.боев.", "уч.боев.");
            list.Add("стажник", "стажник");
            list.Add("реб.-сирота", "реб.-сирота");
            list.Add("огр.возможности", "огр.возможности");
            list.Add("Англ_с_нуля", "Желает изучать англ с нуля");
            list.Add("Англ_оценка", "Итог. оценка по англ");

            list.Add("Номер_приказа_о_зачислении", "Номер приказа о зачислении");
            list.Add("Дата_приказа_о_зачислении", "Дата приказа о зачислении");
            list.Add("Номер_приказа_о_зачислении_иностр", "Номер приказа о зачислении (иностр)");
            list.Add("Дата_приказа_о_зачислении_иностр", "Дата приказа о зачислении (иностр)");

            string exemQuery = null;

            if (!string.IsNullOrEmpty(_fac) && _fac != "0")
            {
                exemQuery = string.Format("SELECT DISTINCT ed.extExamInEntry.ExamId, ed.extExamInEntry.ExamName AS Name FROM ed.extExamInEntry Where FacultyId={0}", _fac);
            }
            else
            {
                exemQuery = "SELECT DISTINCT ed.extExamInEntry.ExamId, ed.extExamInEntry.ExamName AS Name FROM ed.extExamInEntry";
            }

            DataSet dsExams = _bdc.GetDataSet(exemQuery);

            foreach (DataRow dr in dsExams.Tables[0].Rows)
            {
                list.Add(dr["Name"].ToString(), "Экзамен " + dr["Name"].ToString());
            }


            if (MainClass.dbType == PriemType.PriemMag)
            {
                list.Add("Медалист", "Красный диплом");
                list.Add("Профиль", "Магистерская программа");
                list.Add("Направление_подготовки", "Базовое_направление(специальность)");
                list.Add("Год_выпуска", "Год выпуска");

                list.Add("Номер_диплома", "Номер диплома");
                list.Add("Серия_диплома", "Серия диплома");

                list.Add("Квалификация", "Квалификация");
                list.Add("Место_предыдущего_образования_маг", "Место предыдущего образования (для маг)");
            }
            else
            {
                list.Add("Программы_для_ВО", "Программа для лиц с ВО");
                list.Add("Программы_сокр", "Сокращенная программа");
                list.Add("Программы_парал", "Параллельная программа");

                list.Add("Город_уч_заведения", "Город уч.заведения");
                list.Add("Тип_уч_заведения", "Тип уч.заведения");
                list.Add("Медалист", "Медалист");
                list.Add("Номер_школы", "Номер школы");
                list.Add("Серия_атт", "Серия аттестата");
                list.Add("Номер_атт", "Номер аттестата");
                list.Add("Регион_аттестата", "Регион аттестата");

                list.Add("Серия_диплома", "Серия диплома");
                list.Add("Номер_диплома", "Номер диплома");

                list.Add("Год_выпуска", "Год выпуска");

                list.Add("Средний_балл_атт", "Средний балл аттестата");
                list.Add("Статус_ФБС", "Статус ФБС");
                list.Add("Поданы_подлинники_ЕГЭ", "Поданы подлинники ЕГЭ");

                list.Add("Профиль", "Профиль");

                list.Add("Свидетельство_ЕГЭ_2011", "Свидетельство ЕГЭ 2011 года");
                list.Add("Свидетельство_ЕГЭ_2012", "Свидетельство ЕГЭ 2012 года");
                list.Add("Загружено_Свид-во_ЕГЭ_2012", "Загружено свид-во ЕГЭ 2012 года");

                list.Add("ЕГЭ_англ.яз", "ЕГЭ англ.яз");
                list.Add("ЕГЭ_русск.язык", "ЕГЭ русск.язык");
                list.Add("ЕГЭ_математика", "ЕГЭ математика");
                list.Add("ЕГЭ_физика", "ЕГЭ физика");
                list.Add("ЕГЭ_химия", "ЕГЭ химия");
                list.Add("ЕГЭ_биология", "ЕГЭ биология");
                list.Add("ЕГЭ_история", "ЕГЭ история");
                list.Add("ЕГЭ_география", "ЕГЭ география");
                list.Add("ЕГЭ_немец.язык", "ЕГЭ немец.язык");
                list.Add("ЕГЭ_франц.язык", "ЕГЭ франц.язык");
                list.Add("ЕГЭ_обществознание", "ЕГЭ обществознание");
                list.Add("ЕГЭ_литература", "ЕГЭ литература");
                list.Add("ЕГЭ_испан.язык", "ЕГЭ испан.язык");
                list.Add("ЕГЭ_информатика", "ЕГЭ информатика");

                list.Add("Аттестат_алгебра", "Aттестат Алгебра");
                list.Add("Аттестат_англ_язык", "Aттестат Англ. язык");
                list.Add("Аттестат_астрономия", "Aттестат Астрономия");
                list.Add("Аттестат_биология", "Aттестат Биология");
                list.Add("Аттестат_вселенная_чел", "Aттестат Вселенная человека");
                list.Add("Аттестат_вс_история", "Aттестат Всеобщая история");
                list.Add("Аттестат_география", "Aттестат География");
                list.Add("Аттестат_геометрия", "Aттестат Геометрия");
                list.Add("Аттестат_информатика", "Aттестат Информатика");
                list.Add("Аттестат_история_Спб", "Aттестат История и культура Санкт-Петербурга");
                list.Add("Аттестат_ист_России", "Aттестат История России");
                list.Add("Аттестат_литература", "Aттестат Литература");
                list.Add("Аттестат_мировая_худ_культура", "Aттестат Мировая художественная культура");
                list.Add("Аттестат_обществознание", "Aттестат Обществознание");
                list.Add("Аттестат_ОБЖ", "Aттестат ОБЖ");
                list.Add("Аттестат_русск_язык", "Aттестат Русский язык");
                list.Add("Аттестат_технология", "Aттестат Технология");
                list.Add("Аттестат_физика", "Aттестат Физика");
                list.Add("Аттестат_физ_культура", "Aттестат Физическая культура");
                list.Add("Аттестат_химия", "Aттестат Химия");
                list.Add("Аттестат_экология", "Aттестат Экология");
                list.Add("Аттестат_немецкий_язык", "Aттестат Немецкий язык");
                list.Add("Аттестат_испанский_язык", "Aттестат Испанский язык");
                list.Add("Аттестат_французский_язык", "Aттестат Французский язык");
                list.Add("Аттестат_итальянский_язык", "Aттестат Итальянский язык");

                // олимпиады
                //list.Add("Всероссийкая", "Всероссийкая олимпиада");
                //list.Add("Международная", "Международная олимпиада");
                //list.Add("Региональная", "Региональная олимпиада");
                //list.Add("Межвузовская", "Межвузовская олимпиада");
                //list.Add("СПбГУ", "СПбГУ олимпиада");
                //list.Add("Школьников", "Олимпиада школьников");

                list.Add("Степень_диплома", "Степень диплома");
            }

            return(list);
        }