Ejemplo n.º 1
0
		private void MyForm_notifiedMe_aboutNext(eFlowformFormEvents SomeEvent_) {
			switch (SomeEvent_) {
				case eFlowformFormEvents.Next:
					MyForm.Hide();
					//---
					frmProcessOutput output = new frmProcessOutput("Output");
					output.MdiParent = Base_ref;
					output.Show();
					//---
					MyForm.Refresh(); MyForm.Hide();
					output.Refresh();
					Base_ref.Refresh();
					//---
					//output.DisplayMessage("generating...", true);
					frm_Main.NTierProject.Metadata.SQLScriptOption = MyForm.SQLscriptOptions;
					frm_Main.NTierProject.Metadata.PseudoReflectionable = MyForm.pReflection;
					frm_Main.NTierProject.Build(
						new OGen.lib.generator.cGenerator.dBuild(
							output.DisplayMessage
						)
					);
					//output.DisplayMessage("... finished!", true);
					output.DisplayMessage();
					//---
					NotifyBase(eFlowformEvents.Closed, this);
					break;
			}
		}
Ejemplo n.º 2
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,
								new OGen.NTier.lib.generator.cFGenerator.dNotifyBack(
									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;
		}
		private void MyForm_notifiedMe_aboutNext(eFlowformFormEvents SomeEvent_) {
			switch (SomeEvent_) {
				case eFlowformFormEvents.Next:
					#region Checking...
					if (
						(mode_ == eMode.New) 
						&& 
						(MyForm.ApplicationPath.Trim() == string.Empty)
					) {
						System.Windows.Forms.MessageBox.Show(
							"must provide a valid Application Path",
							"Warning",
							System.Windows.Forms.MessageBoxButtons.OK,
							System.Windows.Forms.MessageBoxIcon.Warning
						);
						return;
					}
					if (
						(mode_ == eMode.New) 
						&& 
						(
							(System.IO.Directory.GetDirectories(MyForm.ApplicationPath).Length != 0)
							||
							(System.IO.Directory.GetFiles(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 (MyForm.ApplicationName.Trim() == string.Empty) {
						System.Windows.Forms.MessageBox.Show(
							"must provide a valid Application Name",
							"Warning",
							System.Windows.Forms.MessageBoxButtons.OK,
							System.Windows.Forms.MessageBoxIcon.Warning
						);
						return;
					}
					if (MyForm.Namespace.Trim() == string.Empty) {
						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.lib.metadata.cDBMetadata_DB[] _dbs 
						= 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 (mode_ == eMode.Update) {
						#region Updating...
						frm_Main.ntierproject.Metadata.DBs.Clear();
						for (int d = 0; d < _dbs.Length; d++) {
							int _justadded = frm_Main.ntierproject.Metadata.DBs.Add(
								_dbs[d].DBServerType, 
								false
							);
							frm_Main.ntierproject.Metadata.DBs[_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.DBs[_justadded].DBServerType;
							//    frm_Main.ntierproject.Metadata.Default_ConfigMode = frm_Main.ntierproject.Metadata.DBs[_justadded].Connections[0].ConfigMode;
							//}
						}

						frm_Main.ntierproject.Metadata.ApplicationName 
							= MyForm.ApplicationName;
						frm_Main.ntierproject.Metadata.Namespace 
							= MyForm.Namespace;
						#endregion
						frm_Main.NTierProject.hasChanges = true;
					} else {
						#region Creating...
						MyForm.Hide();

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

						frm_Main.ntierproject.New(
							MyForm.ApplicationPath, 
							MyForm.ApplicationName, 
							MyForm.Namespace, 
							_dbs, 
							new OGen.NTier.lib.metadata.cDBMetadata.dLoadState_fromDB(
								output.DisplayMessage
							)
						);

						output.DisplayMessage();
						#endregion
					}
					Base_ref.Form_Refresh();

					MyForm.Hide();
					NotifyBase(eFlowformEvents.Closed, this);
					break;
			}
		}