private void MyForm_notifiedMe_aboutNext(FlowformFormEvents SomeEvent_) {
			switch (SomeEvent_) {
				case FlowformFormEvents.Next:
					this.MyForm.Hide();
					//---
					frmProcessOutput output = new frmProcessOutput("Output");
					output.MdiParent = this.Base_ref;
					output.Show();
					//---
					this.MyForm.Refresh(); this.MyForm.Hide();
					output.Refresh();
					this.Base_ref.Refresh();
					//---
					//output.DisplayMessage("generating...", true);
					frm_Main.NTierProject.Metadata.MetadataExtendedCollection[0].SQLScriptOption = this.MyForm.SQLscriptOptions;
//					frm_Main.NTierProject.Metadata.PseudoReflectionable = this.MyForm.pReflection;
					frm_Main.NTierProject.Build(output.DisplayMessage);
					//output.DisplayMessage("... finished!", true);
					output.DisplayMessage();
					//---
					this.NotifyBase(FlowformEvents.Closed, this);
					break;
			}
		}
		private void MyForm_notifiedMe_aboutNext(FlowformFormEvents SomeEvent_) {
			switch (SomeEvent_) {
				case FlowformFormEvents.Next:
					#region Checking...
					if (
						(this.mode_ == eMode.New) 
						&&
						(string.IsNullOrEmpty(this.MyForm.ApplicationPath))
					) {
						System.Windows.Forms.MessageBox.Show(
							"must provide a valid Application Path",
							"Warning",
							System.Windows.Forms.MessageBoxButtons.OK,
							System.Windows.Forms.MessageBoxIcon.Warning
						);
						return;
					}
					if (
						(this.mode_ == eMode.New) 
						&& 
						(
							(System.IO.Directory.GetDirectories(this.MyForm.ApplicationPath).Length != 0)
							||
							(System.IO.Directory.GetFiles(this.MyForm.ApplicationPath).Length != 0)
						)
					) {
						switch(System.Windows.Forms.MessageBox.Show(
							"provided Application Path is not empty,\nfile overwrite may occur,\ncontinue?",
							"Warning",
							System.Windows.Forms.MessageBoxButtons.OKCancel,
							System.Windows.Forms.MessageBoxIcon.Warning
						)) {
							case System.Windows.Forms.DialogResult.OK: {
								break;
							}
							case System.Windows.Forms.DialogResult.Cancel: {
								return;
							}
						}
					}
					if (string.IsNullOrEmpty(this.MyForm.ApplicationName)) {
						System.Windows.Forms.MessageBox.Show(
							"must provide a valid Application Name",
							"Warning",
							System.Windows.Forms.MessageBoxButtons.OK,
							System.Windows.Forms.MessageBoxIcon.Warning
						);
						return;
					}
					if (string.IsNullOrEmpty(this.MyForm.Namespace)) {
						System.Windows.Forms.MessageBox.Show(
							"must provide a valid Application Namespace",
							"Warning",
							System.Windows.Forms.MessageBoxButtons.OK,
							System.Windows.Forms.MessageBoxIcon.Warning
						);
						return;
					}
					#endregion
					OGen.NTier.Libraries.Metadata.MetadataExtended.XS_dbType[]
						_dbs = this.MyForm.UnBind_DBConnections();
					#region More Checking...
					if (_dbs.Length == 0) {
						System.Windows.Forms.MessageBox.Show(
							"must provide at least one valid DB Connection",
							"Warning",
							System.Windows.Forms.MessageBoxButtons.OK,
							System.Windows.Forms.MessageBoxIcon.Warning
						);
						return;
					}
					#endregion
					if (this.mode_ == eMode.Update) {
						#region Updating...
						frm_Main.ntierproject.Metadata.MetadataExtendedCollection[0].DBs.DBCollection.Clear();
						int _justadded = -1;
						for (int d = 0; d < _dbs.Length; d++) {
							frm_Main.ntierproject.Metadata.MetadataExtendedCollection[0].DBs.DBCollection.Add(
								out _justadded,
								false, 
								new OGen.NTier.Libraries.Metadata.MetadataExtended.XS_dbType(
									_dbs[d].DBServerType.ToString()
								)
							);
							frm_Main.ntierproject.Metadata.MetadataExtendedCollection[0].DBs.DBCollection[
								_justadded
							].CopyFrom(
								_dbs[d]
							);
							//if (d == 0) {
							//    // ToDos: here! document this behaviour and describe it throught unit testing
							//    // first item in the array, represents default db connection
							//    frm_Main.ntierproject.Metadata.Default_DBServerType = frm_Main.ntierproject.Metadata.MetadataExtendedCollection[0].DBs.DBCollection[_justadded].DBServerType;
							//    frm_Main.ntierproject.Metadata.Default_ConfigMode = frm_Main.ntierproject.Metadata.MetadataExtendedCollection[0].DBs.DBCollection[_justadded].Connections[0].ConfigMode;
							//}
						}

						frm_Main.ntierproject.Metadata.MetadataExtendedCollection[0].ApplicationName
							= this.MyForm.ApplicationName;
						frm_Main.ntierproject.Metadata.MetadataExtendedCollection[0].ApplicationNamespace
							= this.MyForm.Namespace;
						#endregion
						frm_Main.NTierProject.HasChanges = true;
					} else {
						#region Creating...
						this.MyForm.Hide();

						frmProcessOutput _output = new frmProcessOutput("Output");
						_output.MdiParent = this.Base_ref;
						_output.Show();

						frm_Main.ntierproject.New(
							this.MyForm.ApplicationPath,
							this.MyForm.ApplicationName,
							this.MyForm.Namespace, 
							_dbs,
							_output.DisplayMessage
						);

						_output.DisplayMessage();
						#endregion
					}
					this.Base_ref.Form_Refresh();

					this.MyForm.Hide();
					this.NotifyBase(FlowformEvents.Closed, this);
					break;
			}
		}
Example #3
0
		public bool ProjectOpen(bool Refresh_) {
			bool ProjectOpened = false;

			switch (this.ProjectSave(false, true, true)) {
				case DialogResult.Yes:
				case DialogResult.No:
					#region OpenFileDialog.ShowDialog(); ProjectOpened = ...; this.Form_Refresh();
					OpenFileDialog openfile = new OpenFileDialog();
					openfile.Filter = "Project's Metadata File (*.xml)|*.xml";
					openfile.Multiselect = false;
					switch (openfile.ShowDialog()) {
						case DialogResult.OK:
							this.ProjectClose(false);

							frmProcessOutput output = new frmProcessOutput("Output");
							output.MdiParent = this;
							output.Show();
							output.Refresh();
							this.Refresh();
							//output.DisplayMessage("opening...", true);

							frm_Main.NTierProject.Open(
								openfile.FileName, 
								false,
								output.DisplayMessage
							);

							//output.DisplayMessage("... finished!", true);
							output.DisplayMessage();
							#region //frmDataLayer.Show();
							//frmDataLayer datalayer = new frmDataLayer();
							//datalayer.MdiParent = this;
							////datalayer.WindowState = FormWindowState.Maximized;
							//datalayer.Show();
							#endregion

							ProjectOpened = true;
							break;
						case DialogResult.Cancel:
							ProjectOpened = false;
							break;
					}

					// even if project was not opened
					// refresh is needed for save state could
					// have been changed, hence:
					if (Refresh_) this.Form_Refresh();
					#endregion
					break;
				case DialogResult.Cancel:
					ProjectOpened = false;
					break;
			}

			return ProjectOpened;
		}