public void WorkUnitHistoryModel_ReplaceQuery_NameExists_Test()
        {
            // Arrange
            Assert.AreEqual(1, _model.QueryBindingSource.Count);

            _model.AddQuery(new WorkUnitQuery("Test")
                            .AddParameter(new WorkUnitQueryParameter {
                Value = 6606
            }));
            Assert.AreEqual(2, _model.QueryBindingSource.Count);

            _model.AddQuery(new WorkUnitQuery("Test2")
                            .AddParameter(new WorkUnitQueryParameter {
                Value = 6606
            }));
            Assert.AreEqual(3, _model.QueryBindingSource.Count);

            var newQuery = new WorkUnitQuery("Test2")
                           .AddParameter(new WorkUnitQueryParameter {
                Value = 6606
            });

            // Act
            _model.QueryBindingSource.Position = 1;
            Assert.Throws <ArgumentException>(() => _model.ReplaceQuery(newQuery));
        }
        public void WorkUnitHistoryModel_AddQuery_NoQueryFieldValue_Test()
        {
            var query = new WorkUnitQuery("Test")
                        .AddParameter(new WorkUnitQueryParameter());

            Assert.Throws <ArgumentException>(() => _model.AddQuery(query));
        }
 private void LoadData(WorkUnitQuery query)
 {
     _parametersList = new BindingList <WorkUnitQueryParameter>(query.Parameters);
     BindNameTextBox(query);
     dataGridView1.DataSource = null;
     dataGridView1.DataSource = _parametersList;
 }
        public void WorkUnitHistoryModel_AddQuery_NameAlreadyExists_Test()
        {
            var query = new WorkUnitQuery("Test")
                        .AddParameter(new WorkUnitQueryParameter {
                Value = 6606
            });

            _model.AddQuery(query);
            Assert.Throws <ArgumentException>(() => _model.AddQuery(query));
        }
示例#5
0
        public void RemoveQuery(WorkUnitQuery query)
        {
            if (query == WorkUnitQuery.SelectAll)
            {
                throw new ArgumentException($"Cannot remove '{WorkUnitQuery.SelectAll}' query.");
            }

            _queryList.Remove(query);
            QueryBindingSource.ResetBindings(false);
        }
        public void WorkUnitHistoryModel_AddQuery_Test()
        {
            // Arrange
            var query = new WorkUnitQuery("Test")
                        .AddParameter(new WorkUnitQueryParameter {
                Value = 6606
            });

            // Act
            Assert.AreEqual(1, _model.QueryBindingSource.Count);
            _model.AddQuery(query);
            // Assert
            Assert.AreEqual(2, _model.QueryBindingSource.Count);
        }
示例#7
0
        public void AddQuery(WorkUnitQuery query)
        {
            CheckQueryParametersForAddOrReplace(query);

            if (_queryList.FirstOrDefault(x => x.Name == query.Name) != null)
            {
                throw new ArgumentException(String.Format(CultureInfo.CurrentCulture,
                                                          "A query with name '{0}' already exists.", query.Name));
            }

            _queryList.Add(query);
            _queryList.Sort();
            QueryBindingSource.ResetBindings(false);
            QueryBindingSource.Position = QueryBindingSource.IndexOf(query);
        }
示例#8
0
        private static void CheckQueryParametersForAddOrReplace(WorkUnitQuery query)
        {
            if (query == WorkUnitQuery.SelectAll)
            {
                throw new ArgumentException($"Query name cannot be '{WorkUnitQuery.SelectAll}'.");
            }

            if (query.Parameters.Count == 0)
            {
                throw new ArgumentException("No query fields defined.");
            }

            for (int i = 0; i < query.Parameters.Count; i++)
            {
                if (query.Parameters[i].Value == null)
                {
                    throw new ArgumentException($"Parameter {i + 1} must have a value.");
                }
            }
        }
        public void WorkUnitHistoryModel_ReplaceQuery_Test()
        {
            // Arrange
            Assert.AreEqual(1, _model.QueryBindingSource.Count);

            _model.AddQuery(new WorkUnitQuery("Test")
                            .AddParameter(new WorkUnitQueryParameter {
                Value = 6606
            }));
            Assert.AreEqual(2, _model.QueryBindingSource.Count);

            var newQuery = new WorkUnitQuery("Test2")
                           .AddParameter(new WorkUnitQueryParameter {
                Value = 6606
            });

            // Act
            _model.ReplaceQuery(newQuery);
            // Assert
            Assert.AreEqual(2, _model.QueryBindingSource.Count);
            Assert.AreEqual("Test2", _model.SelectedWorkUnitQuery.Name);
        }
示例#10
0
        public void ReplaceQuery(WorkUnitQuery query)
        {
            if (SelectedWorkUnitQuery == WorkUnitQuery.SelectAll)
            {
                throw new ArgumentException($"Cannot replace the '{WorkUnitQuery.SelectAll}' query.");
            }

            CheckQueryParametersForAddOrReplace(query);

            var existing = _queryList.FirstOrDefault(x => x.Name == query.Name);

            if (existing != null && existing.Name != SelectedWorkUnitQuery.Name)
            {
                throw new ArgumentException(String.Format(CultureInfo.CurrentCulture,
                                                          "A query with name '{0}' already exists.", query.Name));
            }

            _queryList.Remove(SelectedWorkUnitQuery);
            _queryList.Add(query);
            _queryList.Sort();
            QueryBindingSource.ResetBindings(false);
            QueryBindingSource.Position = QueryBindingSource.IndexOf(query);
        }
示例#11
0
 public void BindNameTextBox(WorkUnitQuery query)
 {
     txtName.DataBindings.Clear();
     txtName.DataBindings.Add("Text", query, "Name", false, DataSourceUpdateMode.OnPropertyChanged);
 }
示例#12
0
 public WorkUnitQueryPresenter(WorkUnitQuery query)
 {
     Query = query;
 }