示例#1
0
        private void InFieldChangeState()
        {
            if (TrackerView.SelectedRows.Count > 1)
            {
                if (MessageBox.Show("Выделено несколько строк! Изменения коснутся только одиного"
                                    + Environment.NewLine + "Продолжаем?", "Обратите внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }
            }
            var row = StaticMethods.GetCurrentDataRow(TrackerView);

            if (row == null)
            {
                return;
            }

            int objectId = Convert.ToInt32(row["ObjectId"]);

            int activeObjectId = objectId;

            if (!Convert.IsDBNull(row["_ActiveObjectId"]))
            {
                activeObjectId = Convert.ToInt32(row["_ActiveObjectId"]);
            }
            bool inField = Convert.ToBoolean(row["InField"]);

            bool connectPresent = !_isNoModem;

            bool addEvent = true;

            if (connectPresent)
            {
                UInt16 status;
                //Cursor = Cursors.WaitCursor;
                bool sended = _rModuleWrapper.ObjectGetStatus(out status, activeObjectId);

                //Cursor = Cursors.Default;
                var statusWord = new PakStatusWord(status);

                if (!inField && (!sended || statusWord.Error || statusWord.Charge < 9))
                {
                    var sb = new StringBuilder("Изменение режима НЕ ДОПУСТИМО по следующим причинам:");
                    sb.AppendLine();
                    if (!sended)
                    {
                        sb.AppendLine(" - нет связи с трекером");
                    }
                    else
                    {
                        if (statusWord.Error)
                        {
                            sb.AppendLine(" - ошибка оборудования");
                        }
                        if (statusWord.Charge < 9)
                        {
                            sb.AppendLine(" - низкий заряд батареи");
                        }
                    }
                    MessageBox.Show(sb.ToString(), "Изменение режима", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                addEvent = false;
                if (!sended)
                {
                    if (!FormHelper.OperatorRiskAgree())
                    {
                        return;
                    }
                    connectPresent = false;
                    addEvent       = true;
                }
            }

            //Cursor = Cursors.WaitCursor;


            var  stateEventArg = new ObjectChangeStateEventArgs(objectId);
            bool isChanged;

            if (inField)
            {
                isChanged = InFieldUnSet(connectPresent, addEvent, objectId, activeObjectId);
                _logic.InvokeOnObjectToLamp(stateEventArg);
            }
            else
            {
                isChanged = InFieldSet(connectPresent, addEvent, objectId, activeObjectId);
                _logic.InvokeOnObjectToWork(stateEventArg);
            }

            //Cursor = Cursors.Default;

            if (isChanged)
            {
                _dbWrapper.RefreshDataSetAllTables();
                TrackerViewRowChanged();
            }
        }
示例#2
0
 private void TrackViewSetDataSource(object datasource)
 {
     FormHelper.InvokeDataGridViewDataSource(TrackerView, datasource);
 }
示例#3
0
 private void CardViewSetDataSource(object datasource)
 {
     FormHelper.InvokeDataGridViewDataSource(CardView, datasource);
 }
示例#4
0
        private void BtnSerialConnectSetImage(bool isConnected)
        {
            var newImg = isConnected ? Properties.Resources.SerialConnected : Properties.Resources.SerialNoConnected;

            FormHelper.InvokeButtonSetImage(BtnSerialConnect, newImg);
        }
示例#5
0
        private void BtnRModuleConnectSetImage(bool isConnected)
        {
            var newImg = isConnected ? Properties.Resources.RModuleConnected : Properties.Resources.RModuleNotConnected;

            FormHelper.InvokeButtonSetImage(BtnRModuleConnect, newImg);
        }
示例#6
0
        private void BtnDbConnectSetImage(bool isConnected)
        {
            var newImg = isConnected ? Properties.Resources.ImageConnectionActive : Properties.Resources.ImageConnectionDeactive;

            FormHelper.InvokeButtonSetImage(BtnDbConnect, newImg);
        }