protected void Send()
        {
            GetTheData();
            string data = _locator.DataToSendViewModel.DataToSend;

            if (String.IsNullOrEmpty(data))
            {
                return;
            }
            var tranlsatedData = _translator.ToBits(data[0].ToString());

            IList <double> bits = new List <double>();

            foreach (var bit in tranlsatedData)
            {
                bits.Add(bit);
            }
            //bits.Add(bits.Last());

            IList <double> bitsInverted = InvertBits(tranlsatedData);

            var interferenceFrequency = _locator.InterferenceViewModel.Frequency;
            var interferenceTime      = _locator.InterferenceViewModel.Time;
            var interferences         = _interference.GetInterference(interferenceFrequency, interferenceTime);

            ClearCharts();

            _locator.BitsChart1ViewModel.Values.AddRange(bits);
            _locator.BitsChart2ViewModel.Values.AddRange(bitsInverted);
            _locator.InterferenceChartViewModel.Values.AddRange(interferences);
            _locator.BitsChartOut1ViewModel.Values.AddRange(
                _distanceSimulator.Simulate(Cable.FIRST, _interferenceSimulator.Interrupt(bits)));
            _locator.BitsChartOut2ViewModel.Values.AddRange(
                _distanceSimulator.Simulate(Cable.SECOND, _interferenceSimulator.Interrupt(bitsInverted)));
            _locator.OutputChartViewModel.Values.AddRange(
                _signalConverter.FromAnalog(bits.Count,
                                            _signalOperator.Add(
                                                _locator.BitsChartOut1ViewModel.Values,
                                                InvertBits(_locator.BitsChartOut2ViewModel.Values))));

            _locator.OutputViewModel.OutData = _translator.FromBits(_locator.OutputChartViewModel.Values.ToIntArray());

            if (_locator.OutputViewModel.OutData.Equals(_locator.DataToSendViewModel.DataToSend))
            {
                _locator.OutputViewModel.SuccessCount++;
            }
            else
            {
                _locator.OutputViewModel.FailCount++;
            }
        }