예제 #1
0
 private void shutdownBtn_Click(object sender, EventArgs e)
 {
     selectedOperation = SelectedOperation.SHUTDOWN;
     StopTimer();
     StartTimer();
     shutdownBtn.BackColor = ColorTranslator.FromHtml(SELECTED_COLOR);
     shutdownBtn.FlatAppearance.MouseOverBackColor = ColorTranslator.FromHtml(SELECTED_COLOR);
 }
예제 #2
0
 private void restartBtn_Click(object sender, EventArgs e)
 {
     selectedOperation = SelectedOperation.RESTART;
     StopTimer();
     StartTimer();
     restartBtn.BackColor = ColorTranslator.FromHtml(SELECTED_COLOR);
     restartBtn.FlatAppearance.MouseOverBackColor = ColorTranslator.FromHtml(SELECTED_COLOR);
 }
예제 #3
0
 private void hibernateBtn_Click(object sender, EventArgs e)
 {
     selectedOperation = SelectedOperation.HIBERNATE;
     StopTimer();
     StartTimer();
     hibernateBtn.BackColor = ColorTranslator.FromHtml(SELECTED_COLOR);
     hibernateBtn.FlatAppearance.MouseOverBackColor = ColorTranslator.FromHtml(SELECTED_COLOR);
 }
예제 #4
0
        public void Compute()
        {
            if (FirstOperationTab.SignalData.IsNotEmpty() && SecondOperationTab.SignalData.IsNotEmpty())
            {
                if (SelectedOperation == "5) Splot" || SelectedOperation == "6) Korelacja (bezpośrednia)" ||
                    SelectedOperation == "7) Korelacja (przez Splot)")
                {
                    List <double> XSamples = new List <double>();

                    int FirstTabSamplesCounter  = FirstOperationTab.SignalData.ConversionSamplesX.Count;
                    int SecondTabSamplesCounter = SecondOperationTab.SignalData.ConversionSamplesX.Count;

                    for (int i = 0; i < FirstTabSamplesCounter + SecondTabSamplesCounter - 1; i++)
                    {
                        XSamples.Add(i);
                    }

                    SignalData signalData = new SignalData(0)
                    {
                        ConversionSamplesX = XSamples,
                        ConversionSamplesY = SelectedOperation.SignalOperation(FirstOperationTab.SignalData.ConversionSamplesY,
                                                                               SecondOperationTab.SignalData.ConversionSamplesY)
                    };

                    SelectedTab.SignalData  = signalData;
                    SelectedTab.IsScattered = true;
                    SelectedTab.DrawCharts();
                }

                else
                {
                    string message = "";

                    if (SecondOperationTab.SignalData.IsInvalid(FirstOperationTab.SignalData, message))
                    {
                        MessageBox.Show(message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }

                    SignalData signalData = new SignalData(FirstOperationTab.SignalData.StartTime,
                                                           FirstOperationTab.SignalData.Sampling,
                                                           FirstOperationTab.SignalData.ConversionSampling)
                    {
                        ConversionSamplesX = FirstOperationTab.SignalData.ConversionSamplesX,
                        ConversionSamplesY = SelectedOperation.SignalOperation(FirstOperationTab.SignalData.ConversionSamplesY,
                                                                               SecondOperationTab.SignalData.ConversionSamplesY)
                    };

                    SelectedTab.SignalData  = signalData;
                    SelectedTab.IsScattered = true;
                    SelectedTab.CalculateSignalInfo(signalData.StartTime,
                                                    signalData.StartTime + (signalData.ConversionSamplesY.Count / signalData.ConversionSampling));
                    SelectedTab.DrawCharts();
                }
            }
        }
        public void no_operation_gets_selected()
        {
            given_entity_reader();
            given_operations_for <HandlerRequiringInputs>();

            when_filtering_operations();

            ReadResult.ShouldBe(RequestReadResult.NoneFound);
            SelectedOperation.ShouldBeNull();
        }
예제 #6
0
        private void cancelToolStripButton_Click(object sender, EventArgs e)
        {
            ClearSelectDataGridView();
            ClearFilterDataGridView();
            ClearJoinDataGridView();

            executeToolStripButton.Enabled  = false;
            cancelToolStripButton.Enabled   = false;
            queryDesignerTabControl.Visible = false;

            selection = SelectedOperation.Unknown;
        }
예제 #7
0
        public void the_one_with_the_highest_score_is_selected()
        {
            given_entity_reader();
            given_operations_for <HandlerRequiringInputs>();
            given_operation_has_codec_match <ApplicationOctetStreamCodec>("PostName", MediaType.Xml, 0.5f);
            given_operation_has_codec_match <ApplicationXWwwFormUrlencodedKeyedValuesCodec>("PostAddress", MediaType.Xml, 1.0f);

            when_filtering_operations();

            SelectedOperation.GetRequestCodec().CodecRegistration.CodecType.ShouldBe(typeof(ApplicationXWwwFormUrlencodedKeyedValuesCodec));
            ReadResult.ShouldBe(RequestReadResult.CodecFailure); // no valid data in request
        }
예제 #8
0
        public void the_one_without_a_codec_is_not_selected()
        {
            given_entity_reader();

            given_operations_for <HandlerRequiringInputs>();

            given_operation_has_codec_match <ApplicationOctetStreamCodec>("PostName", MediaType.Xml, 1.0f);

            when_filtering_operations();

            SelectedOperation.GetRequestCodec().CodecRegistration.CodecType.ShouldBe(typeof(ApplicationOctetStreamCodec));
            ReadResult.ShouldBe(RequestReadResult.CodecFailure); // no valid data in the request...
        }
예제 #9
0
        public MainForm()
        {
            InitializeComponent();

            dbContext = new DatabaseContext();

            BuildDatabaseTree();

            selectDataGridView.CellValueChanged += new DataGridViewCellEventHandler(selectDataGridView_CellValueChanged);
            filterDataGridView.CellValueChanged += new DataGridViewCellEventHandler(filterDataGridView_CellValueChanged);
            joinDataGridView.CellValueChanged += new DataGridViewCellEventHandler(joinDataGridView_CellValueChanged);
            queryDesignerTabControl.Visible = false;

            selection = SelectedOperation.Unknown;
        }
예제 #10
0
        public MainForm()
        {
            InitializeComponent();

            dbContext = new DatabaseContext();

            BuildDatabaseTree();

            selectDataGridView.CellValueChanged += new DataGridViewCellEventHandler(selectDataGridView_CellValueChanged);
            filterDataGridView.CellValueChanged += new DataGridViewCellEventHandler(filterDataGridView_CellValueChanged);
            joinDataGridView.CellValueChanged   += new DataGridViewCellEventHandler(joinDataGridView_CellValueChanged);
            queryDesignerTabControl.Visible      = false;

            selection = SelectedOperation.Unknown;
        }
예제 #11
0
        private void OnDeleteFromTableMenuItemClick(object sender, EventArgs e)
        {
            queryDesignerTabControl.SelectedIndex = 1;
            string selectedTableName = DatabaseTreeView.SelectedNode.Text.ToString();

            // Populate table combo box from the data grid view with the possible tables.
            var tableColumnCombo = (DataGridViewComboBoxColumn)filterDataGridView.Columns["Table"];

            tableColumnCombo.Items.Add(selectedTableName);

            executeToolStripButton.Enabled  = true;
            cancelToolStripButton.Enabled   = true;
            queryDesignerTabControl.Visible = true;

            selection = SelectedOperation.Delete;
        }
        public void Compute()
        {
            SelectedSignal1Tab.TabContent.Data.FromSamples = true;
            SelectedSignal2Tab.TabContent.Data.FromSamples = true;
            if (SelectedSignal1Tab.TabContent.Data.HasData() && SelectedSignal2Tab.TabContent.Data.HasData())
            {
                if (!SelectedSignal2Tab.TabContent.Data.IsValid(SelectedSignal1Tab.TabContent.Data))
                {
                    MessageBox.Show("Given signals are not valid", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                DataHandler data = new DataHandler();
                List<double> pointsY = new List<double>();

                switch (SelectedOperation.Substring(1, 2))
                {
                    case "D1":
                        pointsY = SignalOperations.AddSignals(SelectedSignal1Tab.TabContent.Data.Samples,
                            SelectedSignal2Tab.TabContent.Data.Samples);
                        break;
                    case "D2":
                        pointsY = SignalOperations.SubtractSignals(SelectedSignal1Tab.TabContent.Data.Samples,
                            SelectedSignal2Tab.TabContent.Data.Samples);
                        break;
                    case "D3":
                        pointsY = SignalOperations.MultiplySignals(SelectedSignal1Tab.TabContent.Data.Samples,
                            SelectedSignal2Tab.TabContent.Data.Samples);
                        break;
                    case "D4":
                        pointsY = SignalOperations.DivideSignals(SelectedSignal1Tab.TabContent.Data.Samples,
                            SelectedSignal2Tab.TabContent.Data.Samples);
                        break;
                }

                data.StartTime = SelectedSignal1Tab.TabContent.Data.StartTime;
                data.Frequency = SelectedSignal1Tab.TabContent.Data.Frequency;
                data.Samples = pointsY;
                data.FromSamples = true;
                SelectedResultTab.TabContent.IsScattered = true;
                SelectedResultTab.TabContent.LoadData(data);
                SelectedResultTab.TabContent.AddOriginal = false;
                SelectedResultTab.TabContent.AddSamples = false;
                SelectedResultTab.TabContent.DrawCharts();
                SelectedResultTab.TabContent.CalculateSignalInfo(isDiscrete: true, fromSamples: true);
            }

        }
        public ImportationPageVM(Importation importation)
        {
            Importation = importation;

            #region Initialisation

            Operations = new ObservableCollection <OperationVM>()
            {
                new NegociationPageVM(),
                new DomiciliationPageVM(),
                new DedouanementPageVM(),
                new CloturationPageVM(),
                new BilanPageVM(),
            };

            Cloturer = new RelayCommand(() =>
            {
                SelectedOperation.Cloturer();
            });

            #endregion
        }
        public void Compute()
        {
            Stopwatch      timer   = new Stopwatch();
            List <Complex> complex = new List <Complex>();

            timer.Start();
            string chartCase = SelectedOutputChart.Substring(1, 2);

            switch (SelectedOperation.Substring(1, 4))
            {
            case "F1.1":
                complex = FourierTransform.Transform(SelectedSignal1Tab.TabContent.Data.Samples);
                break;

            case "F1.2":
                FastFourierTransform f = new FastFourierTransform();
                complex = f.Transform(SelectedSignal1Tab.TabContent.Data.Samples);
                break;

            case "F1.3":
                complex = WaveletTransform.Transform(SelectedSignal1Tab.TabContent.Data.Samples);
                break;
            }
            timer.Stop();
            var time = timer.ElapsedMilliseconds;

            if (chartCase.Contains("W1"))
            {
                ComplexChartsW1 window = new ComplexChartsW1(complex);
                window.Show();
                MessageBox.Show("Czas obliczeń: " + time.ToString() + " ms", "Czas", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            else
            {
                ComplexChartsW2 window = new ComplexChartsW2(complex);
                window.Show();
                MessageBox.Show("Czas obliczeń: " + time.ToString() + " ms", "Czas", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
예제 #15
0
        private void executeToolStripButton_Click(object sender, EventArgs e)
        {
            switch (selection)
            {
            case SelectedOperation.Select:
                try
                {
                    var selections = GetSelections();
                    var filters    = GetFilters();
                    var joins      = GetJoins();

                    string   selectedDbName    = DatabaseTreeView.SelectedNode.Parent.Text.ToString();
                    string   selectedTableName = DatabaseTreeView.SelectedNode.Text.ToString();
                    Database database          = dbContext.SchemaQuery.GetDatabase(selectedDbName);

                    DataTable resultTable = dbContext.Query.Select(database, selections, joins, filters);

                    resultDataGridView.DataSource = resultTable;
                    resultDataGridView.Refresh();

                    queryTabControl.SelectedIndex = 1;
                }
                catch (NullReferenceException exception)
                {
                    MessageBox.Show("Complete all cells!\n" + exception.Message);
                }
                break;

                /*case SelectedOperation.Delete:
                 *  try
                 *  {
                 *      var filters = GetFilters();
                 *
                 *      string selectedDbName = DatabaseTreeView.SelectedNode.Parent.Text.ToString();
                 *      string selectedTableName = DatabaseTreeView.SelectedNode.Text.ToString();
                 *
                 *      Database database = dbContext.SchemaQuery.GetDatabase(selectedDbName);
                 *      Table table = database.GetTable(selectedTableName);
                 *
                 *      var status = dbContext.Query.Delete(database, table, filters);
                 *
                 *      messagesTextBox.Text = status.Message;
                 *      queryTabControl.SelectedIndex = 2;
                 *  }
                 *  catch (NullReferenceException exception)
                 *  {
                 *      MessageBox.Show("Complete all cells!\n" + exception.Message);
                 *  }
                 *
                 *  break;*/
            }

            ClearSelectDataGridView();
            ClearFilterDataGridView();
            ClearJoinDataGridView();

            executeToolStripButton.Enabled  = false;
            cancelToolStripButton.Enabled   = false;
            queryDesignerTabControl.Visible = false;

            selection = SelectedOperation.Unknown;
        }
예제 #16
0
        /// <summary>
        /// Load the data
        /// </summary>
        /// <param name="operation">The operation to perform</param>
        /// <param name="skip">The number of records to skip</param>
        /// <param name="take">The number of records to take</param>
        private void LoadData(SelectedOperation operation, int skip = 0, int take = 10)
        {
            try
            {
                switch (operation)
                {
                case SelectedOperation.First:
                    // Should the load continue or be cancelled
                    if (OnBeforeFirst != null)
                    {
                        Nequeo.Custom.OperationArgs op = new Nequeo.Custom.OperationArgs(false);
                        OnBeforeFirst(this, op);

                        // Cancel operation if true.
                        if (op.Cancel)
                        {
                            return;
                        }
                    }
                    break;

                case SelectedOperation.Previous:
                    // Should the load continue or be cancelled
                    if (OnBeforePrevious != null)
                    {
                        Nequeo.Custom.OperationArgs op = new Nequeo.Custom.OperationArgs(false);
                        OnBeforePrevious(this, op);

                        // Cancel operation if true.
                        if (op.Cancel)
                        {
                            return;
                        }
                    }
                    break;

                case SelectedOperation.Next:
                    // Should the load continue or be cancelled
                    if (OnBeforeNext != null)
                    {
                        Nequeo.Custom.OperationArgs op = new Nequeo.Custom.OperationArgs(false);
                        OnBeforeNext(this, op);

                        // Cancel operation if true.
                        if (op.Cancel)
                        {
                            return;
                        }
                    }
                    break;

                case SelectedOperation.Last:
                    // Should the load continue or be cancelled
                    if (OnBeforeLast != null)
                    {
                        Nequeo.Custom.OperationArgs op = new Nequeo.Custom.OperationArgs(false);
                        OnBeforeLast(this, op);

                        // Cancel operation if true.
                        if (op.Cancel)
                        {
                            return;
                        }
                    }
                    break;

                case SelectedOperation.Custom:
                    // Should the load continue or be cancelled
                    if (OnBeforeCustom != null)
                    {
                        Nequeo.Custom.OperationArgs op = new Nequeo.Custom.OperationArgs(false);
                        OnBeforeCustom(this, op);

                        // Cancel operation if true.
                        if (op.Cancel)
                        {
                            return;
                        }
                    }
                    break;
                }

                // Build the current data object type and
                // the  select data model generic type.
                Type dataType = Type.GetType(ConnectionTypeModel.DataObjectTypeName, true, true);
                Type dataAccessProviderType = Type.GetType(ConnectionTypeModel.DataAccessProvider, true, true);
                Type listGenericType        = typeof(SelectDataGenericBase <>);

                // Create the generic type parameters
                // and create the genric type.
                Type[] typeArgs = { dataType };
                Type   listGenericTypeConstructor = listGenericType.MakeGenericType(typeArgs);

                // Add the genric tyoe contructor parameters
                // and create the generic type instance.
                object[] parameters = new object[] {
                    ConnectionTypeModel.DatabaseConnection,
                    ConnectionTypeModel.ConnectionType,
                    ConnectionTypeModel.ConnectionDataType,
                    ((Nequeo.Data.DataType.IDataAccess)Activator.CreateInstance(dataAccessProviderType))
                };
                object listGeneric = Activator.CreateInstance(listGenericTypeConstructor, parameters);

                // Get all properites in the data object type.
                PropertyInfo[] properties = dataType.GetProperties();

                // If the query exists.
                Object resultExpression = null;
                if (Query != null)
                {
                    // Create the expression constructor.
                    Nequeo.Data.DataType.DataTypeConversion dataTypeConversion =
                        new Nequeo.Data.DataType.DataTypeConversion(ConnectionTypeModel.ConnectionDataType);
                    Nequeo.Data.Linq.SqlStatementConstructor sql = new Nequeo.Data.Linq.SqlStatementConstructor(dataTypeConversion);

                    // Create the lambda expression.
                    resultExpression = sql.CreateLambdaExpression(Query.Queries, dataType, Query.Operand);
                }

                string where = WhereClause;
                string   orderBy     = OrderByClause;
                Object[] argsRecords = new Object[] { };

                // Get the current object.
                if (resultExpression != null)
                {
                    // Add the query arguments
                    argsRecords = new Object[] { resultExpression };
                }
                else
                {
                    if (!String.IsNullOrEmpty(where))
                    {
                        argsRecords = new Object[] { where }
                    }
                    ;
                }

                // Add the current data row to the
                // business object collection.
                object count = listGeneric.GetType().InvokeMember("GetRecordCount",
                                                                  BindingFlags.DeclaredOnly | BindingFlags.Public |
                                                                  BindingFlags.Instance | BindingFlags.InvokeMethod,
                                                                  null, listGeneric, argsRecords);

                // Assign the total number of records.
                _totalRecords = Convert.ToInt32(count);

                switch (operation)
                {
                case SelectedOperation.First:
                    skip = 0;
                    break;

                case SelectedOperation.Previous:
                    skip = skip < 0 ? 0 : skip;
                    break;

                case SelectedOperation.Next:
                    skip = skip > _totalRecords ? _totalRecords - take : skip;
                    break;

                case SelectedOperation.Last:
                    skip = _totalRecords - take;
                    break;

                case SelectedOperation.Custom:
                    skip = skip * take;
                    break;
                }

                // Get the current object.
                Object[] args = new Object[]
                {
                    (skip > 0 ? skip : 0),
                    (String.IsNullOrEmpty(orderBy) ? properties[0].Name : orderBy)
                };

                // If a take count is set.
                if (take > 0)
                {
                    args = new Object[]
                    {
                        (skip > 0 ? skip : 0),
                        take,
                        (String.IsNullOrEmpty(orderBy) ? properties[0].Name : orderBy)
                    }
                }
                ;

                // If an expression has been created.
                if (resultExpression != null)
                {
                    args = new Object[]
                    {
                        (skip > 0 ? skip : 0),
                        (String.IsNullOrEmpty(orderBy) ? properties[0].Name : orderBy),
                        resultExpression
                    };
                }
                else
                {
                    // If the where clause is set.
                    if (!String.IsNullOrEmpty(where))
                    {
                        args = new Object[]
                        {
                            (skip > 0 ? skip : 0),
                            (String.IsNullOrEmpty(orderBy) ? properties[0].Name : orderBy),
                            where
                        }
                    }
                    ;
                }

                // If an expression has been created.
                if (resultExpression != null)
                {
                    args = new Object[]
                    {
                        (skip > 0 ? skip : 0),
                        take,
                        (String.IsNullOrEmpty(orderBy) ? properties[0].Name : orderBy),
                        resultExpression
                    };
                }
                else
                {
                    // If the take count and where clause are set.
                    if ((take > 0) && (!String.IsNullOrEmpty(where)))
                    {
                        args = new Object[]
                        {
                            (skip > 0 ? skip : 0),
                            take,
                            (String.IsNullOrEmpty(orderBy) ? properties[0].Name : orderBy),
                            where
                        }
                    }
                    ;
                }

                // Add the current data row to the
                // business object collection.
                object ret = listGeneric.GetType().InvokeMember("SelectData",
                                                                BindingFlags.DeclaredOnly | BindingFlags.Public |
                                                                BindingFlags.Instance | BindingFlags.InvokeMethod,
                                                                null, listGeneric, args);

                // Return the collection.
                DataModel            = (IEnumerable)ret;
                dataGrid.ItemsSource = (IEnumerable)DataModel;

                switch (operation)
                {
                case SelectedOperation.First:
                    if (OnFirst != null)
                    {
                        OnFirst(this, new EventArgs());
                    }
                    break;

                case SelectedOperation.Previous:
                    if (OnPrevious != null)
                    {
                        OnPrevious(this, new EventArgs());
                    }
                    break;

                case SelectedOperation.Next:
                    if (OnNext != null)
                    {
                        OnNext(this, new EventArgs());
                    }
                    break;

                case SelectedOperation.Last:
                    if (OnLast != null)
                    {
                        OnLast(this, new EventArgs());
                    }
                    break;

                case SelectedOperation.Custom:
                    if (OnCustom != null)
                    {
                        OnCustom(this, new EventArgs());
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                string inner = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                switch (operation)
                {
                case SelectedOperation.First:
                    if (OnFirstError != null)
                    {
                        OnFirstError(this, new Nequeo.Custom.MessageArgs(ex.Message + " " + inner));
                    }
                    break;

                case SelectedOperation.Previous:
                    if (OnPreviousError != null)
                    {
                        OnPreviousError(this, new Nequeo.Custom.MessageArgs(ex.Message + " " + inner));
                    }
                    break;

                case SelectedOperation.Next:
                    if (OnNextError != null)
                    {
                        OnNextError(this, new Nequeo.Custom.MessageArgs(ex.Message + " " + inner));
                    }
                    break;

                case SelectedOperation.Last:
                    if (OnLastError != null)
                    {
                        OnLastError(this, new Nequeo.Custom.MessageArgs(ex.Message + " " + inner));
                    }
                    break;

                case SelectedOperation.Custom:
                    if (OnCustomError != null)
                    {
                        OnCustomError(this, new Nequeo.Custom.MessageArgs(ex.Message + " " + inner));
                    }
                    break;
                }
            }
        }
예제 #17
0
        private void cancelToolStripButton_Click(object sender, EventArgs e)
        {
            ClearSelectDataGridView();
            ClearFilterDataGridView();
            ClearJoinDataGridView();

            executeToolStripButton.Enabled = false;
            cancelToolStripButton.Enabled = false;
            queryDesignerTabControl.Visible = false;

            selection = SelectedOperation.Unknown;
        }
예제 #18
0
        private void OnSelectFromTableMenuItemClick(object sender, EventArgs e)
        {
            queryDesignerTabControl.SelectedIndex = 0;
            string selectedTableName = DatabaseTreeView.SelectedNode.Text.ToString();

            // Populate selection table combo box from the data grid view with the possible tables.
            var tableColumnCombo = (DataGridViewComboBoxColumn)selectDataGridView.Columns["SelectTable"];
            tableColumnCombo.Items.Add(selectedTableName);

            // Populate filter table combo box from the data grid view with the possible tables.
            tableColumnCombo = (DataGridViewComboBoxColumn) filterDataGridView.Columns["Table"];
            tableColumnCombo.Items.Add(selectedTableName);

            // Populate join table combo box from the data grid view with the possible tables.
            //tableColumnCombo = (DataGridViewComboBoxColumn) joinDataGridView.Columns["LeftTable"];
            //tableColumnCombo.Items.Add(selectedTableName);

            executeToolStripButton.Enabled = true;
            cancelToolStripButton.Enabled = true;
            queryDesignerTabControl.Visible = true;

            selection = SelectedOperation.Select;
        }
 private bool CanSignOut()
 {
     return(SelectedOperation.GetType() == typeof(SearchAndAddOperationViewModel));
 }
예제 #20
0
        private void executeToolStripButton_Click(object sender, EventArgs e)
        {
            switch (selection)
            {
                case SelectedOperation.Select:
                    try
                    {
                        var selections = GetSelections();
                        var filters = GetFilters();
                        var joins = GetJoins();

                        string selectedDbName = DatabaseTreeView.SelectedNode.Parent.Text.ToString();
                        string selectedTableName = DatabaseTreeView.SelectedNode.Text.ToString();
                        Database database = dbContext.SchemaQuery.GetDatabase(selectedDbName);

                        DataTable resultTable = dbContext.Query.Select(database, selections, joins, filters);

                        resultDataGridView.DataSource = resultTable;
                        resultDataGridView.Refresh();

                        queryTabControl.SelectedIndex = 1;
                    }
                    catch (NullReferenceException exception)
                    {
                        MessageBox.Show("Complete all cells!\n" + exception.Message);
                    }
                    break;
                /*case SelectedOperation.Delete:
                    try
                    {
                        var filters = GetFilters();

                        string selectedDbName = DatabaseTreeView.SelectedNode.Parent.Text.ToString();
                        string selectedTableName = DatabaseTreeView.SelectedNode.Text.ToString();

                        Database database = dbContext.SchemaQuery.GetDatabase(selectedDbName);
                        Table table = database.GetTable(selectedTableName);

                        var status = dbContext.Query.Delete(database, table, filters);

                        messagesTextBox.Text = status.Message;
                        queryTabControl.SelectedIndex = 2;
                    }
                    catch (NullReferenceException exception)
                    {
                        MessageBox.Show("Complete all cells!\n" + exception.Message);
                    }

                    break;*/
            }

            ClearSelectDataGridView();
            ClearFilterDataGridView();
            ClearJoinDataGridView();

            executeToolStripButton.Enabled = false;
            cancelToolStripButton.Enabled = false;
            queryDesignerTabControl.Visible = false;

            selection = SelectedOperation.Unknown;
        }
예제 #21
0
        public void ComputeSignals()
        {
            if (SelectedSignal1 != null && SelectedSignal2 != null)
            {
                if (IsComplex)
                {
                    SampledSignal  signal = new SampledSignal();
                    List <Complex> points = new List <Complex>();

                    switch (SelectedOperation.Substring(1, 2))
                    {
                    case "D1":
                        points = SignalOperations.AddComplexSignals(SelectedSignal1.ComplexPoints,
                                                                    SelectedSignal2.ComplexPoints);
                        break;

                    case "D2":
                        points = SignalOperations.SubtractComplexSignals(SelectedSignal1.ComplexPoints,
                                                                         SelectedSignal2.ComplexPoints);
                        break;

                    case "D3":
                        points = SignalOperations.MultiplyComplexSignals(SelectedSignal1.ComplexPoints,
                                                                         SelectedSignal2.ComplexPoints);
                        break;

                    case "D4":
                        points = SignalOperations.DivideComplexSignals(SelectedSignal1.ComplexPoints,
                                                                       SelectedSignal2.ComplexPoints);
                        break;
                    }
                    signal.ComplexPoints = points;
                    signal.Name          = ResultSignalName + " - S [Complex]";
                    SignalCreator.Signals.Add(signal);
                    SignalCreator.SampledSignals.Add(signal);
                }
                else
                {
                    if (!SelectedSignal2.IsValid(SelectedSignal2))
                    {
                        MessageBox.Show("Given signals are not valid", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    SampledSignal signal  = new SampledSignal();
                    List <double> pointsY = new List <double>();

                    switch (SelectedOperation.Substring(1, 2))
                    {
                    case "D1":
                        pointsY = SignalOperations.AddSignals(SelectedSignal1.PointsY,
                                                              SelectedSignal2.PointsY);
                        break;

                    case "D2":
                        pointsY = SignalOperations.SubtractSignals(SelectedSignal1.PointsY,
                                                                   SelectedSignal2.PointsY);
                        break;

                    case "D3":
                        pointsY = SignalOperations.MultiplySignals(SelectedSignal1.PointsY,
                                                                   SelectedSignal2.PointsY);
                        break;

                    case "D4":
                        pointsY = SignalOperations.DivideSignals(SelectedSignal1.PointsY,
                                                                 SelectedSignal2.PointsY);
                        break;
                    }
                    signal.PointsY   = pointsY;
                    signal.StartTime = SelectedSignal1.StartTime;
                    signal.Frequency = SelectedSignal1.Frequency;
                    signal.CalculateSamplesX();
                    signal.Name = ResultSignalName + " - S";
                    SignalCreator.Signals.Add(signal);
                    SignalCreator.SampledSignals.Add(signal);
                }
            }
        }
예제 #22
0
        public void Compute()
        {
            int    distancePoints = 0;
            double distance       = 0;
            bool   radar          = false;

            SelectedSignal1Tab.TabContent.Data.FromSamples = true;
            SelectedSignal2Tab.TabContent.Data.FromSamples = true;
            if (SelectedSignal1Tab.TabContent.Data.HasData() && SelectedSignal2Tab.TabContent.Data.HasData())
            {
                DataHandler   data    = new DataHandler();
                List <double> pointsY = new List <double>();

                switch (SelectedOperation.Substring(1, 2))
                {
                case "O1":
                    if (!SelectedSignal2Tab.TabContent.Data.IsValidConvulution(SelectedSignal1Tab.TabContent.Data))
                    {
                        MessageBox.Show("Given signals are not valid", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    pointsY = SignalFiltering.CalculateConvolution(SelectedSignal1Tab.TabContent.Data.Samples,
                                                                   SelectedSignal2Tab.TabContent.Data.Samples);
                    break;

                case "O2":
                    int windowType = int.Parse(SelectedWindow.Substring(0, 1));
                    int filterType = int.Parse(SelectedFilter.Substring(0, 1));
                    pointsY = SignalFiltering.Filter(SelectedSignal1Tab.TabContent.Data.Samples, M, K, windowType, filterType);
                    break;

                case "O3":
                    if (!SelectedSignal2Tab.TabContent.Data.IsValidConvulution(SelectedSignal1Tab.TabContent.Data))
                    {
                        MessageBox.Show("Given signals are not valid", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    pointsY = SignalFiltering.CalculateCorrelation(SelectedSignal1Tab.TabContent.Data.Samples,
                                                                   SelectedSignal2Tab.TabContent.Data.Samples);
                    break;

                case "O4":
                    pointsY = SignalFiltering.CalculateDistance(SelectedSignal1Tab.TabContent.Data.Samples,
                                                                SignalFiltering.DelaySignal(SelectedSignal1Tab.TabContent.Data.Samples, t * SelectedSignal1Tab.TabContent.Data.Frequency), out distancePoints);
                    distance = distancePoints * v / SelectedSignal1Tab.TabContent.Data.Frequency;
                    radar    = true;
                    break;
                }

                data.StartTime   = SelectedSignal1Tab.TabContent.Data.StartTime;
                data.Frequency   = SelectedSignal1Tab.TabContent.Data.Frequency;
                data.Samples     = pointsY;
                data.FromSamples = true;
                SelectedResultTab.TabContent.IsScattered = true;
                SelectedResultTab.TabContent.LoadData(data);
                SelectedResultTab.TabContent.AddOriginal = false;
                SelectedResultTab.TabContent.AddSamples  = false;
                SelectedResultTab.TabContent.DrawCharts();
                SelectedResultTab.TabContent.CalculateSignalInfo(isDiscrete: true, fromSamples: true);
                if (radar)
                {
                    MessageBox.Show("Odległość: " + distance.ToString() + " m", "Radar", MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }
        }