示例#1
0
        public void LogUnlockingPortAsync(JDSUCiscoClass jdsuCisco, UnlockingPortStatus unlockingPortStatus)
        {
            var asyncAction = new Action(() =>
            {
                try
                {
                    using (
                        var serviceChannel = new ChannelFactory <IWaterGateService>(CreateBinding(),
                                                                                    new EndpointAddress(_address)))
                    {
                        var channel = serviceChannel.CreateChannel();

                        using (var contextScope = new OperationContextScope((IContextChannel)channel))
                        {
                            OperationContext.Current.OutgoingMessageHeaders.Add(_userHeader);
                            channel.LogUnlockingPort(jdsuCisco, unlockingPortStatus);
                        }
                    }
                }
                catch
                {
                    LogConnectionFailed();
                }
            });

            asyncAction.BeginInvoke(null, null);
        }
示例#2
0
        public void UpdatePortDescriptionAsync(JDSUCiscoClass jdsuCisco, Action <Exception> continueWith)
        {
            var asyncAction = new Action(() =>
            {
                try
                {
                    using (var serviceChannel = new ChannelFactory <IWaterGateService>(CreateBinding(), new EndpointAddress(_address)))
                    {
                        var channel = serviceChannel.CreateChannel();

                        using (var contextScope = new OperationContextScope((IContextChannel)channel))
                        {
                            OperationContext.Current.OutgoingMessageHeaders.Add(_userHeader);
                            channel.UpdatePortDescription(jdsuCisco);
                        }

                        continueWith(null);
                    }
                }
                catch (Exception e)
                {
                    LogConnectionFailed();
                    continueWith(e);
                }
            });

            asyncAction.BeginInvoke(null, null);
        }
        public void UpdatePortNote(JDSUCiscoClass jdsuCisco)
        {
            LockSlim.TryEnterWriteLock(-1);
            try
            {
                using (var connection = new SQLiteConnection(_connectionString))
                {
                    connection.Open();

                    using (var command = new SQLiteCommand("UPDATE Ports SET Note=@note WHERE IP=@ip AND Com=@com AND PortName=@portName AND PortId=@portId", connection))
                    {
                        command.Parameters.Add("@note", DbType.String).Value     = jdsuCisco.Note;
                        command.Parameters.Add("@ip", DbType.String).Value       = jdsuCisco.CiscoIPCom.IP;
                        command.Parameters.Add("@com", DbType.String).Value      = jdsuCisco.CiscoIPCom.Com;
                        command.Parameters.Add("@portName", DbType.String).Value = jdsuCisco.CiscoPort.PortName;
                        command.Parameters.Add("@portId", DbType.String).Value   = jdsuCisco.CiscoPort.PortID;

                        command.ExecuteNonQuery();
                    }
                }
            }
            finally
            {
                LockSlim.ExitWriteLock();
            }
        }
示例#4
0
        private void AddButton_Click(object sender, EventArgs e)
        {
            if (StaticValues.JDSUCiscoArray.Count(item => item.JDSUPort.Equals("not set")) > 0)
            {
                MessageBox.Show(
                    "Порт с именем 'not set' уже существует. Для добавления нового порта, присвойте всем портам уникальные имена.",
                    "Дубликат", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                return;
            }
            var jdsuCisco = new JDSUCiscoClass()
            {
                JDSUPort   = "not set",
                CiscoIPCom = new IPCom("not set", "not set"),
                CiscoPort  = new CiscoPort("not set", "not set")
            };


            StaticValues.JDSUCiscoArray.Add(jdsuCisco);



            portsDataGridView.Rows.Add(jdsuCisco.JDSUPort);
            var rowNumber = portsDataGridView.Rows.Count - 1;


            portsDataGridView.Rows[rowNumber].Cells[1].Value = (portsDataGridView[1, rowNumber] as DataGridViewComboBoxCell).Items[0];
            // (portsDataGridView[1, rowNumber] as DataGridViewComboBoxCell).Items.Cast<IPCom>().First(item => item.IP.Equals("not set"));



            (portsDataGridView[2, rowNumber] as DataGridViewComboBoxCell).Items.Add(jdsuCisco.CiscoPort);
            portsDataGridView.Rows[rowNumber].Cells[2].Value = (portsDataGridView[2, rowNumber] as DataGridViewComboBoxCell).Items[0];


            if (_mainForm != null)
            {
                _mainForm.AddRow(jdsuCisco);
            }
        }
示例#5
0
        public void LogUnlockingPort(JDSUCiscoClass jdsuCisco, UnlockingPortStatus unlockingPortStatus)
        {
            var portString = "Порт " + jdsuCisco.JDSUPort + " " + jdsuCisco.CiscoIPCom.IP + " " + jdsuCisco.CiscoIPCom.Com + " " + jdsuCisco.CiscoPort.PortName + ".";

            switch (unlockingPortStatus)
            {
            case UnlockingPortStatus.Starting:
            {
                ClientLogService.Write(CurrentUser, "Начало разблокировки порта", portString + " Выполнено");
                return;
            }

            case UnlockingPortStatus.InvalidSmnp:
            {
                ClientLogService.Write(CurrentUser, "Начало разблокировки порта", portString + " Некорректный адрес SMNP");
                return;
            }

            case UnlockingPortStatus.NoResponse:
            {
                ClientLogService.Write(CurrentUser, "Разблокировки порта", portString + " Нет ответа");
                return;
            }

            case UnlockingPortStatus.NotActive:
            {
                ClientLogService.Write(CurrentUser, "Разблокировки порта", portString + " Порт не разблокирован");
                return;
            }

            case UnlockingPortStatus.Active:
            {
                ClientLogService.Write(CurrentUser, "Разблокировки порта", portString + " Порт разблокирован");
                return;
            }
            }
        }
示例#6
0
 public void UpdatePortNote(JDSUCiscoClass jdsuCisco)
 {
     _repository.UpdatePortNote(jdsuCisco);
     ClientLogService.Write(CurrentUser, "Изменение примечания порта", "Примечание порта " + jdsuCisco.JDSUPort + " " + jdsuCisco.CiscoIPCom.IP + " " + jdsuCisco.CiscoIPCom.Com + " " +
                            jdsuCisco.CiscoPort.PortName + " " + jdsuCisco.CiscoPort.PortID + " изменено на: " + jdsuCisco.Note);
 }
示例#7
0
 public void UpdatePortDescription(JDSUCiscoClass jdsuCisco)
 {
     _repository.UpdatePortDescription(jdsuCisco);
     ClientLogService.Write(CurrentUser, "Изменение описания порта", "Описание порта " + jdsuCisco.JDSUPort + " " + jdsuCisco.CiscoIPCom.IP + " " + jdsuCisco.CiscoIPCom.Com + " " +
                            jdsuCisco.CiscoPort.PortName + " " + jdsuCisco.CiscoPort.PortID + " изменено на: " + jdsuCisco.Description);
 }
示例#8
0
 public void AddRow(JDSUCiscoClass jdsuCisco)
 {
     mainDataGridView.Rows.Add(jdsuCisco.JDSUPort, jdsuCisco.CiscoIPCom.IP, jdsuCisco.CiscoPort.PortName);
 }