示例#1
0
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            UniversalForm.Run(new UniversalForm(), args);
        }
示例#2
0
        private IIrbisConnection GetConnection()
        {
            UniversalForm mainForm = MainForm.ThrowIfNull("MainForm");

            mainForm.GetIrbisProvider();
            IIrbisConnection result = mainForm.Connection
                                      .ThrowIfNull("connection");

            return(result);
        }
示例#3
0
        static void Main(string[] args)
        {
            try
            {
                Application.ThreadException += _ThreadException;

                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);

                UniversalForm form = new MainForm();
                UniversalForm.Run(form, args);
            }
            catch (Exception exception)
            {
                ExceptionBox.Show(exception);
            }
        }
示例#4
0
        private void _addButton_Click
        (
            object sender,
            EventArgs e
        )
        {
            UniversalForm mainForm = MainForm;

            if (ReferenceEquals(mainForm, null) ||
                !mainForm.Active)
            {
                WriteLine("Приложение не активно");

                return;
            }

            string number = _numberBox.Text.Trim();

            if (string.IsNullOrEmpty(number))
            {
                return;
            }

            _numberBox.Clear();
            _numberBox.Focus();
            Application.DoEvents();

            if (AlreadyHave(number))
            {
                WriteLine("Уже есть экземпляр: {0}", number);

                return;
            }

            ExemplarInfo exemplar = null;

            Manager.Format = ((ListFormat)_formatBox.SelectedItem)
                             .Format
                             .ThrowIfNull("Manager.Format");

            try
            {
                Run
                (
                    () =>
                {
                    exemplar = Manager.ReadExtend(number);
                }
                );
            }
            catch (Exception exception)
            {
                WriteLine("Ошибка: {0}", exception.Message);

                return;
            }

            if (ReferenceEquals(exemplar, null))
            {
                WriteLine("Не удалось найти экземпляр: {0}", number);

                return;
            }

            if (!string.IsNullOrEmpty(exemplar.Description))
            {
                exemplar.Description = exemplar.Description.Replace
                                       (
                    "[Текст] ",
                    string.Empty
                                       );
            }

            MarcRecord  record = exemplar.Record.ThrowIfNull("exemplar.Record");
            RecordField field  = exemplar.Field.ThrowIfNull("exemplar.Field");

            if (_statusBox.Checked &&
                exemplar.Status != "0")
            {
                exemplar.Status = "0";
                field.SetSubField('A', "0");
                WriteLine("Статус экземпляра {0} изменён на 0", number);
            }

            if (_exhibitionBox.Checked)
            {
                field.SetSubField('9', "Выставка новых поступлений");
                WriteLine("Экземпляр {0} передан на выставку", number);
            }

            if (record.Modified)
            {
                Run
                (
                    () =>
                {
                    MainForm.Provider.WriteRecord(record);
                    WriteLine("Изменения сохранены на сервере");
                }
                );
            }

            ExemplarList.Add(exemplar);
            _bindingSource.Position = ExemplarList.Count - 1;

            SaveExemplars();
            _numberBox.Focus();

            WriteLine
            (
                "Добавлено: {0} {1}",
                exemplar.Number,
                exemplar.Description.ToVisibleString()
            );
        }