Пример #1
0
        private void btnLoad_Click(object sender, EventArgs e)
        {
            loadClass = new LoadFromInet();
            bdcInet   = loadClass.BDCInet;

            int fileNum = 0;

            string barcText = tbPersonNum.Text.Trim();

            if (barcText == string.Empty)
            {
                WinFormsServ.Error("Не введен номер");
                return;
            }

            //if (barcText.Length == 7)
            //{
            //    if (barcText.StartsWith("2"))
            //    {
            //        WinFormsServ.Error("Выбран человек, подавший заявления в магистратуру");
            //        return;
            //    }

            //    barcText = barcText.Substring(1);
            //}

            if (!int.TryParse(barcText, out fileNum))
            {
                WinFormsServ.Error("Неправильно введен номер");
                return;
            }

            if (MainClass.CheckPersonBarcode(fileNum))
            {
                try
                {
                    //extPerson person = loadClass.GetPersonByBarcode(fileNum);
                    DataTable dtEge = new DataTable();

                    //if(person != null)
                    //{
                    //    string queryEge = "SELECT EgeMark.Id, EgeMark.EgeExamNameId AS ExamId, EgeMark.Value, EgeCertificate.PrintNumber, EgeCertificate.Number, EgeMark.EgeCertificateId FROM EgeMark LEFT JOIN EgeCertificate ON EgeMark.EgeCertificateId = EgeCertificate.Id LEFT JOIN Person ON EgeCertificate.PersonId = Person.Id";
                    //    DataSet dsEge = bdcInet.GetDataSet(queryEge + " WHERE Person.Barcode = " + fileNum + " ORDER BY EgeMark.EgeCertificateId ");
                    //    dtEge = dsEge.Tables[0];
                    //}

                    CardFromInet crd = new CardFromInet(fileNum, null, true);
                    crd.ToUpdateList += UpdateDataGrid;
                    crd.Show();
                }
                catch (Exception exc)
                {
                    WinFormsServ.Error(exc.Message);
                    tbPersonNum.Text = "";
                    tbPersonNum.Focus();
                }
            }
            else
            {
                UpdateDataGrid();
                using (PriemEntities context = new PriemEntities())
                {
                    extPersonAll person = (from per in context.extPersonAll
                                           where per.Barcode == fileNum
                                           select per).FirstOrDefault();

                    string fio    = person.FIO;
                    string num    = person.PersonNum;
                    string persId = person.Id.ToString();

                    WinFormsServ.Search(this.dgvAbiturients, "PersonNum", num);
                    DialogResult dr = MessageBox.Show(string.Format("Абитуриент {0} с данным номером баркода уже импортирован в базу.\nОткрыть карточку абитуриента?", fio), "Внимание", MessageBoxButtons.YesNo);
                    if (dr == System.Windows.Forms.DialogResult.Yes)
                    {
                        MainClass.OpenCardPerson(persId, this, null);
                    }
                }
            }

            tbPersonNum.Text = "";
            tbPersonNum.Focus();
            loadClass.CloseDB();
        }
Пример #2
0
        private void btnLoad_Click(object sender, EventArgs e)
        {
            try
            {
                string barcText = tbAbitBarcode.Text.Trim();

                if (barcText.Length > 0)
                {
                    if (barcText.Length == 7)//если баркод введён полностью, с префиксом
                    {
                        if (barcText.StartsWith("1"))
                        {
                            WinFormsServ.Error("Выбран человек, подавший заявления для граждан РФ на первый курс!");
                            return;
                        }
                        if (barcText.StartsWith("2"))
                        {
                            WinFormsServ.Error("Выбран человек, подавший заявления для граждан РФ в магистратуру!");
                            return;
                        }
                        barcText = barcText.Substring(1);
                    }

                    int code;
                    if (!int.TryParse(barcText, out code))
                    {
                        WinFormsServ.Error("Не распознан баркод!");
                        return;
                    }
                    if (code == 0)
                    {
                        WinFormsServ.Error("Не распознан баркод!");
                        return;
                    }

                    using (PriemEntities context = new PriemEntities())
                    {
                        int cnt = (from ab in context.Abiturient
                                   where ab.CommitNumber == code
                                   select ab).Count();

                        if (cnt > 0)
                        {
                            WinFormsServ.Error("Запись уже добавлена!");
                            return;
                        }

                        bool t = false;
                        for (int i = 0; i < dgvAbiturients.Rows.Count; i++)
                        {
                            if (dgvAbiturients.Rows[i].Cells["Barcode"].Value.ToString() == code.ToString())
                            {
                                dgvAbiturients.CurrentCell = dgvAbiturients["ФИО", i];
                                t = true;
                                break;
                            }
                        }

                        if (!t)
                        {
                            //поиск заявления в зоне видимости приёмной комиссии
                            var    entries    = context.qEntry.Select(x => x.Id).ToList();
                            string lstEntries = Util.BuildStringWithCollection(entries.Select(x => "'" + x.ToString() + "'").ToList());

                            string    query = string.Format("SELECT Barcode, FacultyId, LicenseProgramId, ObrazProgramId, ProfileId, StudyBasisId FROM qAbiturient WHERE Barcode=@Barcode AND EntryId IN ({0})", lstEntries);
                            DataTable tbl   = BdcInet.GetDataSet(query, new SortedList <string, object>()
                            {
                                { "@Barcode", code }
                            }).Tables[0];

                            if (tbl.Rows.Count == 0)
                            {
                                WinFormsServ.Error("Запись не найдена!");
                                return;
                            }
                        }

                        tbAbitBarcode.Text = string.Empty;

                        CardFromInet crd = new CardFromInet(null, code, false);

                        crd.ToUpdateList += UpdateDataGrid;
                        crd.Show();
                    }
                }
            }
            catch (Exception ex)
            {
                WinFormsServ.Error("Ошибка при заполнении формы " + ex.Message);
            }
        }