* ObjectDataSourceView.cs: fixed SelectMethod and SelectCountMethod properties:
when changed, DataSourceViewChanged event is raised.
* SqlDataSourceView: fixed SelectCommand property:
when changed, DataSourceViewChanged event is raised.
svn path=/trunk/mcs/; revision=78009
+2007-05-27 Igor Zelmanovich <igorz@mainsoft.com>
+
+ * ObjectDataSourceView.cs: fixed SelectMethod and SelectCountMethod properties:
+ when changed, DataSourceViewChanged event is raised.
+
+ * SqlDataSourceView: fixed SelectCommand property:
+ when changed, DataSourceViewChanged event is raised.
+
2007-05-25 Marek Habersack <mhabersack@novell.com>
* ObjectDataSourceView.cs: CreateDataObject must pay attention to
return selectCountMethod != null ? selectCountMethod : string.Empty;
}
set {
+ if (SelectCountMethod == value)
+ return;
selectCountMethod = value;
+ OnDataSourceViewChanged (EventArgs.Empty);
}
}
return selectMethod != null ? selectMethod : string.Empty;
}
set {
+ if (SelectMethod == value)
+ return;
selectMethod = value;
+ OnDataSourceViewChanged (EventArgs.Empty);
}
}
return null;
foreach (DictionaryEntry de in values) {
- string valueName = format == true ? FormatOldParameter (de.Key.ToString ()) : de.Key.ToString ();\r
+ string valueName = format == true ? FormatOldParameter (de.Key.ToString ()) : de.Key.ToString ();
if (String.Compare (name, valueName, StringComparison.InvariantCultureIgnoreCase) == 0)
return values [de.Key];
}
}
// LAME SPEC: MSDN says value should be saved in ViewState but tests show otherwise.
- private string selectCommand = "";
+ private string selectCommand;
public string SelectCommand {
- get { return selectCommand; }
- set { selectCommand = value; }
+ get { return selectCommand != null ? selectCommand : string.Empty; }
+ set {
+ if (SelectCommand == value)
+ return;
+ selectCommand = value;
+ OnDataSourceViewChanged (EventArgs.Empty);
+ }
}
// LAME SPEC: MSDN says value should be saved in ViewState but tests show otherwise.
+2007-05-27 Igor Zelmanovich <igorz@mainsoft.com>
+
+ * ObjectDataSourceViewTest.cs:
+ * SqlDataSourceViewTest.cs:
+ new tests were added.
+
2007-05-07 Igor Zelmanovich <igorz@mainsoft.com>
* MenuTest.cs:
}
}
+ [Test]
+ public void SelectCountMethod_DataSourceViewChanged ()
+ {
+ ObjectViewPoker view = new ObjectViewPoker (new ObjectDataSource (), "", null);
+ view.DataSourceViewChanged += new EventHandler (view_DataSourceViewChanged);
+
+ Assert.AreEqual ("", view.SelectCountMethod);
+ view.SelectCountMethod = null;
+ Assert.AreEqual (1, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [0]);
+ Assert.AreEqual ("", view.SelectCountMethod);
+
+ view.SelectCountMethod = null;
+ Assert.AreEqual (2, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [1]);
+ Assert.AreEqual ("", view.SelectCountMethod);
+
+ view.SelectCountMethod = "";
+ Assert.AreEqual (2, eventsCalled.Count);
+ }
+
+ [Test]
+ public void SelectMethod_DataSourceViewChanged2 ()
+ {
+ ObjectViewPoker view = new ObjectViewPoker (new ObjectDataSource (), "", null);
+ view.DataSourceViewChanged += new EventHandler (view_DataSourceViewChanged);
+
+ Assert.AreEqual ("", view.SelectMethod);
+ view.SelectMethod = null;
+ Assert.AreEqual (1, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [0]);
+ Assert.AreEqual ("", view.SelectMethod);
+
+ view.SelectMethod = null;
+ Assert.AreEqual (2, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [1]);
+ Assert.AreEqual ("", view.SelectMethod);
+
+ view.SelectMethod = "";
+ Assert.AreEqual (2, eventsCalled.Count);
+ }
+
+ [Test]
+ public void SelectMethod_DataSourceViewChanged1 ()
+ {
+ ObjectViewPoker view = new ObjectViewPoker (new ObjectDataSource (), "", null);
+ view.DataSourceViewChanged+=new EventHandler(view_DataSourceViewChanged);
+
+ view.SelectMethod = "select_1";
+ Assert.AreEqual (1, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [0]);
+
+ view.SelectMethod = "select_2";
+ Assert.AreEqual (2, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [1]);
+
+ view.SelectMethod = "select_2";
+ Assert.AreEqual (2, eventsCalled.Count);
+
+ view.SelectCountMethod = "selectCount_1";
+ Assert.AreEqual (3, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [2]);
+
+ view.SelectCountMethod = "selectCount_2";
+ Assert.AreEqual (4, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [3]);
+
+ view.SelectCountMethod = "selectCount_2";
+ Assert.AreEqual (4, eventsCalled.Count);
+ }
+
private static void InitializeView (ObjectViewPoker view, InitViewType initType, out Hashtable keys, out Hashtable old_value, out Hashtable new_value)
{
view.TypeName = typeof (DummyDataSourceObject).AssemblyQualifiedName;
DontMatchParams,
}
+ [Test]
+ public void SelectCommand_DataSourceViewChanged2 ()
+ {
+ SqlDataSource ds = new SqlDataSource ();
+ SqlViewPoker view = new SqlViewPoker (ds, "DefaultView", null);
+ view.DataSourceViewChanged += new EventHandler (view_DataSourceViewChanged);
+
+ Assert.AreEqual ("", view.SelectCommand);
+ view.SelectCommand = null;
+ Assert.AreEqual (1, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [0]);
+ Assert.AreEqual ("", view.SelectCommand);
+
+ view.SelectCommand = null;
+ Assert.AreEqual (2, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [1]);
+ Assert.AreEqual ("", view.SelectCommand);
+
+ view.SelectCommand = "";
+ Assert.AreEqual (2, eventsCalled.Count);
+ }
+
+ [Test]
+ public void SelectCommand_DataSourceViewChanged1 ()
+ {
+ SqlDataSource ds = new SqlDataSource ();
+ SqlViewPoker view = new SqlViewPoker (ds, "DefaultView", null);
+ view.DataSourceViewChanged+=new EventHandler(view_DataSourceViewChanged);
+
+ view.SelectCommand = "select 1";
+ Assert.AreEqual (1, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled[0]);
+
+ view.SelectCommand = "select 2";
+ Assert.AreEqual (2, eventsCalled.Count);
+ Assert.AreEqual ("view_DataSourceViewChanged", eventsCalled [1]);
+
+ view.SelectCommand = "select 2";
+ Assert.AreEqual (2, eventsCalled.Count);
+
+ view.SelectCommandType = SqlDataSourceCommandType.StoredProcedure;
+ Assert.AreEqual (2, eventsCalled.Count);
+
+ view.SelectCommandType = SqlDataSourceCommandType.Text;
+ Assert.AreEqual (2, eventsCalled.Count);
+ }
+
private static SqlViewPoker InitializeView (InitViewType initType, ConflictOptions conflictDetection, out Hashtable keys, out Hashtable old_value, out Hashtable new_value)
{
SqlDataSource ds = new SqlDataSource ();