Beispiel #1
0
        // Отображение сообщений
        private void ShowMessage(string text, bool isError = false)
        {
            Drawing.Color color = (isError) ? Drawing.Color.Red : Drawing.Color.Green;

            MainStrip.InvokeIfRequired(delegate {
                StatusLabel.Text      = text;
                StatusLabel.ForeColor = color;
            });
        }
Beispiel #2
0
 private void Selects(StateMachine.RuleStateEventArgs e)
 {
     try
     {
         GR.SelectCurrent(e.StateObject);
         MainStrip.SetLine(stateMachine.GetStrip);
         MainStrip.Select(stateMachine.Selected);
     }
     catch { }
 }
Beispiel #3
0
        public MainForm()
        {
            InitializeComponent();

            GuiController.MainForm = this;

            try {
                // Запускаем таймер для отображения часов
                ClockTimer = new System.Threading.Timer(delegate(object s) {
                    try {
                        MainStrip.InvokeIfRequired(() => TimeStripLabel.Text = DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss"));
                    }
                    catch { }
                }, null, 0, 300);

                if (AppHelper.Configuration.RunInFullScreen)
                {
                    this.SwitchFullScreenMode();
                }

                // Начинаем прослушивать COM порт
                AppHelper.ComListener = new ComListener(AppHelper.Configuration.BarcodeScanner.ComPort,
                                                        AppHelper.Configuration.BarcodeScanner.BaudRate);
                AppHelper.ComListener.BarcodeReaded += BarcodeReaded;
                AppHelper.ComListener.Listen();

                // Если смена была ранее открыта, то возобновляем её
                if (!string.IsNullOrEmpty(AppHelper.Configuration.SessionUserName))
                {
                    if (!SessionManager.CreateNewSession(AppHelper.Configuration.SessionUserName))
                    {
                        GuiController.CreateMessage("Не удалось возобновить смену. Проверьте конфигурационный файл", true);
                    }
                    else
                    {
                        GuiController.CreateMessage("Возобновлена смена под пользователем " + SessionManager.WorkerName, false);
                    }
                }

                /*PrivateFontCollection fontCollection = new PrivateFontCollection();
                 * fontCollection.AddFontFile(@".\Fonts\Century-Gothic.ttf");
                 * FontFamily fontFamily = new FontFamily("Century Gothic", fontCollection);
                 * Font = new Font(fontFamily, 8);*/
            }
            catch (Exception ex) {
                MessageBox.Show(ex.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Load += (s, e) => GuiController.ExitApplication();
            }
        }
Beispiel #4
0
        // Проверка файлов
        private void CheckFiles()
        {
            try {
                IsRunning = true;
                int      hours    = (AppHelper.Configuration.Global.SearchDaysCount * 24);
                DateTime begin    = DateTime.Now.AddHours(hours.ToNegative());
                DateTime beginUTC = DateTime.Now.ToUniversalTime().Date.AddHours(hours.ToNegative());

                ShowMessage("Получение списка созданных файлов ОАСУ РПО...");
                List <FileInfo> files    = SQLHelper.GetCreatedFiles(AppHelper.Configuration.Global.SearchDaysCount).ToList();
                List <string>   msgFiles = new List <string>();
                ShowMessage("Получение списка отправленных файлов ОАСУ РПО...");
                ItemType[] messages = ExchangeMailHelper.GetMessages(beginUTC);

                foreach (ItemType item in messages)
                {
                    Match match = new Regex(AppHelper.Configuration.Exchange.MessageRegex).Match(item.Subject);
                    if (match.Success)
                    {
                        msgFiles.Add(match.Groups["FILE"].Value);
                    }
                }

                ShowMessage("Проверка успешно отправленных файлов ОАСУ РПО...");
                List <ListViewItem> items = new List <ListViewItem>();
                FilesBox.InvokeIfRequired(() => FilesBox.Items.Clear());
                string message = "";
                foreach (FileInfo file in files)
                {
                    if (string.IsNullOrEmpty(msgFiles.Find(x => x == file.FileName)))
                    {
                        ListViewItem item = new ListViewItem(file.FileName);
                        item.SubItems.Add(file.TimeEnd.ToString());
                        items.Add(item);
                        message += string.Format("{0}\t{1}\r\n", file.FileName, file.TimeEnd);
                    }
                }

                int count = items.Count;
                FilesBox.InvokeIfRequired(() => FilesBox.Items.AddRange(items.ToArray()));

                if (count > 0)
                {
                    notifyWindow.InvokeIfRequired(() => notifyWindow.Message = message);
                    this.InvokeIfRequired(delegate {
                        Drawing.Rectangle workingArea = Screen.GetWorkingArea(this);
                        notifyWindow.Location         = new Drawing.Point(workingArea.Right - notifyWindow.Size.Width, workingArea.Bottom - notifyWindow.Size.Height);
                        notifyWindow.Show(this);
                    });
                }
                else
                {
                    notifyWindow.InvokeIfRequired(delegate {
                        notifyWindow.Message = "";
                        notifyWindow.HideDialog();
                    });
                }

                ShowMessage(string.Format("Неотправленные файлы за период ({0} - {1}): {2} шт.", begin.ToString("dd.MM.yyyy"), DateTime.Now.ToString("dd.MM.yyyy"), count), (count > 0));
            }
            catch (Exception error) {
                ShowMessage("Ошибка", true);
                AppHelper.Log.Write("Ошибка во время операции проверки: " + error.ToString(), Feodosiya.Lib.Logs.MessageType.Error);
            }
            finally {
                IsRunning = false;

                ManualExecButton.InvokeIfRequired(() => ManualExecButton.Enabled = true);
                SettingsButton.InvokeIfRequired(() => SettingsButton.Enabled     = true);
                FilesBox.InvokeIfRequired(() => FilesBox.Enabled         = true);
                MainStrip.InvokeIfRequired(() => LastOperationLabel.Text = DateTime.Now.ToString());
            }
        }