Пример #1
0
        private void btnLoad_Click(object sender, EventArgs e)
        {
            int?changeTp = ChangeTypeId;

            foreach (DataGridViewRow dgvr in dgvAbiturients.SelectedRows)
            {
                string code    = dgvr.Cells["Barcode"].Value.ToString();
                string perCode = dgvr.Cells["PersonBarcode"].Value.ToString();

                try
                {
                    int abitBarcode;
                    int persBarcode;

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

                    if (abitBarcode == 0)
                    {
                        WinFormsServ.Error("Не распознан баркод!");
                        return;
                    }

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

                    if (persBarcode == 0)
                    {
                        WinFormsServ.Error("Не распознан баркод!");
                        return;
                    }

                    ChangeAbitClass chCl;

                    string updateQuery = string.Empty;

                    switch (changeTp)
                    {
                    // приоритеты
                    case 1:
                    {
                        if (!MessageAttention())
                        {
                            return;
                        }

                        chCl = lstAbits[abitBarcode];

                        using (PriemEntities context = new PriemEntities())
                        {
                            Guid abitId = (from ab in context.extAbit
                                           where ab.Barcode == abitBarcode
                                           select ab.Id).FirstOrDefault();
                            double pr;
                            if (!double.TryParse(chCl.Priority, out pr))
                            {
                                break;
                            }

                            context.Abiturient_UpdatePriority(pr, abitId);
                            break;
                        }
                    }

                    // забрал доки в инете
                    case 2:
                    {
                        if (!MessageAttention())
                        {
                            return;
                        }

                        chCl = lstAbits[abitBarcode];
                        DataRow  dr       = _bdcInet.GetDataSet(string.Format("SELECT qAbiturient.BackDocDate FROM qAbiturient WHERE Barcode = {0}", abitBarcode)).Tables[0].Rows[0];
                        DateTime?backDate = dr.Field <DateTime?>("BackDocDate");

                        using (PriemEntities context = new PriemEntities())
                        {
                            Guid abitId = (from ab in context.extAbit
                                           where ab.Barcode == abitBarcode
                                           select ab.Id).FirstOrDefault();

                            context.Abiturient_UpdateBackDoc(true, backDate, abitId);
                            break;
                        }
                    }

                    // забрал доки в нашей базе
                    case 3:
                    {
                        if (!MessageAttention())
                        {
                            return;
                        }

                        chCl = lstAbits[abitBarcode];
                        DataRow  dr       = _bdc.GetDataSet(string.Format("SELECT qAbiturient.BackDocDate FROM ed.qAbiturient WHERE Barcode = {0}", abitBarcode)).Tables[0].Rows[0];
                        DateTime?backDate = dr.Field <DateTime?>("BackDocDate");
                        updateQuery = string.Format("UPDATE qAbiturient SET Enabled = 0, DateOfDisable = '{1}' WHERE Barcode = {0}", abitBarcode, backDate == null ? "NULL" : backDate.Value.Date.ToShortDateString());
                        _bdcInet.ExecuteQuery(updateQuery);
                        break;
                    }

                    // новые документы
                    case 4:
                    {
                        new DocCard(persBarcode, abitBarcode, true, MainClass.dbType == PriemType.PriemForeigners).ShowDialog();
                        break;
                    }
                    }
                }
                catch (Exception ex)
                {
                    WinFormsServ.Error("Ошибка обновления данных: " + code + ":" + ex.Message);
                    goto Next;
                }
                Next :;
            }
            UpdateDataGrid();
        }