using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using WmData; namespace WmDataTester { public partial class WmDataTester : Form { protected static string username = "datatest"; protected static string password = "datatest"; protected static string hostname = "localhost"; protected static int portnumber = 3306; protected static string catalog = "datatest"; protected WmData.WmData data; public WmDataTester() { InitializeComponent(); } private void WmDataTester_Load(object sender, EventArgs e) { } private void initButton_Click(object sender, EventArgs e) { DateTime start = DateTime.Now; data = new WmData.WmData(username, password, hostname, portnumber, catalog); addLineToTextBox("INIT OK " + (DateTime.Now - start)); } private void clearButton_Click(object sender, EventArgs e) { outputBox.Text = ""; } protected void addLineToTextBox(string message) { outputBox.Text = message + Environment.NewLine + outputBox.Text; } private void test1Button_Click(object sender, EventArgs e) { if (data != null) { DateTime start = DateTime.Now; for (int i = 0; i < 1000; i++) { TestObject test = new TestObject(); test.Name = "TestOBJ" + i; test.Moment = DateTime.Now; test.Amount = 1299.55; test.Enabled = true; data.addObject(test); } addLineToTextBox("ADD 1000 test objects " + (DateTime.Now - start)); } else { MessageBox.Show("Warning, please init data first."); } } private void test2Button_Click(object sender, EventArgs e) { if (data != null) { string select = selectBox.Text; DateTime start = DateTime.Now; ArrayList objects = data.getObjects(typeof(TestObject), select); addLineToTextBox("GET "+objects.Count+" test object(s) " + (DateTime.Now - start)); } else { MessageBox.Show("Warning, please init data first."); } } private void test3Button_Click(object sender, EventArgs e) { if (data != null) { // update all ArrayList allObjects = data.getObjects(typeof(TestObject), null); DateTime start = DateTime.Now; foreach (TestObject testObject in allObjects) { testObject.Enabled = !testObject.Enabled; testObject.Amount = testObject.Amount + 1; testObject.Name = testObject.Name + "."; data.updateObject(testObject); } addLineToTextBox("UPDATE " + allObjects.Count + " test object(s) " + (DateTime.Now - start)); } else { MessageBox.Show("Warning, please init data first."); } } private void test4Button_Click(object sender, EventArgs e) { if (data != null) { // delete all ArrayList allObjects = data.getObjects(typeof(TestObject), null); DateTime start = DateTime.Now; foreach (TestObject testObject in allObjects) { data.deleteObject(testObject); } addLineToTextBox("DELETE " + allObjects.Count + " test object(s) " + (DateTime.Now - start)); } else { MessageBox.Show("Warning, please init data first."); } } private void test6Button_Click(object sender, EventArgs e) { if (data != null) { ArrayList allObjects = data.getObjects(typeof(TestObject), null); if (allObjects.Count > 0) { TestObject firstObject = (TestObject) allObjects[0]; DateTime start = DateTime.Now; data.deleteObject(firstObject); addLineToTextBox("DELETE first test object " + (DateTime.Now - start)); } } } private void test5Button_Click(object sender, EventArgs e) { if (data != null) { ArrayList allObjects = data.getObjects(typeof(TestObject), null); if (allObjects.Count > 0) { TestObject firstObject = (TestObject)allObjects[0]; firstObject.Name = "Updated " + firstObject.Id; firstObject.Enabled = !firstObject.Enabled; firstObject.Amount = firstObject.Amount + 1; DateTime start = DateTime.Now; data.updateObject(firstObject); addLineToTextBox("UPDATE first test object " + (DateTime.Now - start)); } } } private void test7Button_Click(object sender, EventArgs e) { if (data != null) { TestObject newOne = new TestObject(); newOne.Amount = 10; newOne.Enabled = true; newOne.Moment = DateTime.Now; newOne.Name = "Henkie"; data.addObject(newOne); addLineToTextBox("ADD single object, id="+newOne.Id); // for (int i = 0; i < 2000; i++) { // newOne.Name += i.ToString(); // we will overload the max size of the column // } data.updateObject(newOne); addLineToTextBox("UPDATED that object, id="+newOne.Id); } } private void addFileButton_Click(object sender, EventArgs e) { WmDataFile dataFile = data.FileSupport.getNewWmDataFileFromPath("wmitlogo.jpg"); addLineToTextBox("Added dataFile, received id="+dataFile.Id); } private void getDataFilesButton_Click(object sender, EventArgs e) { WmDataFile[] datafiles = data.FileSupport.getWmDataFiles(null, WmDataFileSortBy.SIZE, true); addLineToTextBox("Get all dataFiles returned "+datafiles.Length+" objects"); } private void deleteDataFileButton_Click(object sender, EventArgs e) { WmDataFile[] dataFiles = data.FileSupport.getWmDataFiles(null, WmDataFileSortBy.ID, true); if (dataFiles.Length > 0) { WmDataFile delFile = dataFiles[0]; data.FileSupport.deleteWmDataFile(delFile); addLineToTextBox("deleted first dataFile"); } else { addLineToTextBox("no more dataFiles"); } } private void updateFirstDataFileButton_Click(object sender, EventArgs e) { WmDataFile[] dataFiles = data.FileSupport.getWmDataFiles(null, WmDataFileSortBy.ID, true); if (dataFiles.Length > 0) { WmDataFile updateFile = dataFiles[0]; data.FileSupport.updateWmDataFile(updateFile); addLineToTextBox("updated first dataFile"); } else { addLineToTextBox("no more dataFiles"); } } private void saveFirstFileButton_Click(object sender, EventArgs e) { WmDataFile[] dataFiles = data.FileSupport.getWmDataFiles(null, WmDataFileSortBy.ID, true); if (dataFiles.Length > 0) { WmDataFile firstFile = dataFiles[0]; string newFileName = DateTime.Now.Ticks+"-"+firstFile.Filename; firstFile.saveAs(newFileName); addLineToTextBox("saved first dataFile binary data as "+newFileName); } else { addLineToTextBox("no more dataFiles"); } } private void randomImageDataFileButton_Click(object sender, EventArgs e) { Bitmap b = new Bitmap(200, 200); Graphics g = Graphics.FromImage(b); g.DrawRectangle(new Pen(Brushes.Yellow), new Rectangle(10, 10, 180, 180)); g.DrawString(DateTime.Now.Second + "s", new Font(FontFamily.GenericSansSerif, 12), Brushes.Blue, 10, 10); b.Save("test.bmp"); WmDataFile dataFile = data.FileSupport.getNewWmDataFileFromImageAsJpg(b, "random_image.jpg", 90); addLineToTextBox("Added dataFile, received id=" + dataFile.Id); } } }