/// <summary> /// This method is used for closing all the child form /// </summary> /// <param name="formNumber"></param> private void CloseAllChildForm(int formNumber) { foreach (Form frm in this.MdiChildren) { frm.Dispose(); frm.Close(); } switch (formNumber) { case 1: FormDetail.OpenWelcomeForm(); break; case 2: FormDetail.OpenCustomerShortCodeForm(); break; case 3: FormDetail.OpenUserDetailsForm(); break; case 4: FormDetail.OpenSyncOptionForm(); break; case 5: FormDetail.OpenLDAPPathForm(); break; case 6: FormDetail.OpenCustomerEmailForm(); break; case 7: FormDetail.OpenInstallationPathForm(); break; case 8: FormDetail.OpenInstallForm(); break; } if (formNumber == 1) { btnBack.Enabled = false; } else { btnBack.Enabled = true; } if (formNumber == 8) { btnNext.Text = Common.GetResourceKeyValue("CommonInstall"); } else { btnNext.Text = Common.GetResourceKeyValue("CommonNext"); } }
/// <summary> /// Next button click event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnNext_Click(object sender, EventArgs e) { //Disabling the back button if the form is start form if (GlobalData.NextFormName == "StartForm") { btnBack.Enabled = false; } else { btnBack.Enabled = true; } if (btnNext.Text == Common.GetResourceKeyValue("CommonInstall")) { EnableDsableLinks(false); BackgroundWorker bgWorker = new BackgroundWorker(); bgWorker.DoWork += bgWorker_Install; bgWorker.RunWorkerAsync(); bgWorker.RunWorkerCompleted += bgWorker_InstallationCompleted; ((Install)this.MdiChildren[0]).lblWait.Text = Common.GetResourceKeyValue("InstallWaitMessage"); ((Install)this.MdiChildren[0]).picLoad.Visible = true; ((Install)this.MdiChildren[0]).lblWait.Visible = true; ((Install)this.MdiChildren[0]).txtMessage.Visible = false; btnNext.Enabled = false; btnCancel.Enabled = false; btnBack.Enabled = false; } else if (btnNext.Text == Common.GetResourceKeyValue("CommonFinish")) { GlobalData.IsBtnClose = true; Application.Exit(); } else { if (GlobalData.NextFormName == "Install") { btnNext.Text = Common.GetResourceKeyValue("CommonInstall"); } else { btnNext.Text = Common.GetResourceKeyValue("CommonNext"); } Dictionary <TextBox, string> dictionaryTextbox = null; switch (GlobalData.NextFormName) { case "CustomerValidation": Common.AddAppSettingData("ApiBaseUrl", ConfigurationManager.AppSettings["ApiBaseUrl"]); ((frmWelcome)this.MdiChildren[0]).Close(); lnkLblCustomerCode.Links[0].Enabled = true; FormDetail.OpenCustomerShortCodeForm(); break; case "UserDetails": //Customer name validation dictionaryTextbox = new Dictionary <TextBox, string>(); dictionaryTextbox.Add(((CustomerValidation)this.MdiChildren[0]).txtCustomerName, Common.GetResourceKeyValue("CustomerShortCodeValidationMsg")); dictionaryTextbox.Add(((CustomerValidation)this.MdiChildren[0]).txtApiKey, Common.GetResourceKeyValue("ApiKeyValidationMsg")); if (!IsControlRequiredFieldValidated(dictionaryTextbox)) { return; } HttpWebResponse apiResponse = null; try { apiResponse = (HttpWebResponse)Common.GetApiResponse(((CustomerValidation)this.MdiChildren[0]).txtCustomerName.Text.Trim(), ((CustomerValidation)this.MdiChildren[0]).txtApiKey.Text.Trim(), "/api/customer/validatekey", "GET", "application/json", ""); } catch { MessageBox.Show(Common.GetResourceKeyValue("CustomerApiKeyValidation"), Common.GetResourceKeyValue("Error"), MessageBoxButtons.OK); return; } if (apiResponse == null || apiResponse.StatusCode != HttpStatusCode.OK) { MessageBox.Show(Common.GetResourceKeyValue("CustomerApiKeyValidation"), Common.GetResourceKeyValue("Message"), MessageBoxButtons.OK); return; } //Storing the customer name into global variable Common.AddAppSettingData("CustomerShortCode", ((CustomerValidation)this.MdiChildren[0]).txtCustomerName.Text.Trim()); //Storing api key Common.AddAppSettingData("ApiKey", ((CustomerValidation)this.MdiChildren[0]).txtApiKey.Text.Trim()); //Closing the current form and opening the new one ((CustomerValidation)this.MdiChildren[0]).Close(); lnkLblUserDetails.Links[0].Enabled = true; FormDetail.OpenUserDetailsForm(); break; case "SyncOption": dictionaryTextbox = new Dictionary <TextBox, string>(); dictionaryTextbox.Add(((UserDetails)this.MdiChildren[0]).txtUserName, Common.GetResourceKeyValue("UsernameValidationMsg")); dictionaryTextbox.Add(((UserDetails)this.MdiChildren[0]).txtPassword, Common.GetResourceKeyValue("PasswordValidationMsg")); if (!IsControlRequiredFieldValidated(dictionaryTextbox)) { return; } var streamProperties = new { CustomerShortCode = Common.GetAppSettingdataValue("CustomerShortCode"), ApiUserName = ((UserDetails)this.MdiChildren[0]).txtUserName.Text.Trim(), ApiPassWord = ((UserDetails)this.MdiChildren[0]).txtPassword.Text.Trim() }; var content = Json.Encode(streamProperties); HttpWebResponse response = null; try { response = (HttpWebResponse)Common.GetApiResponse(Common.GetAppSettingdataValue("CustomerShortCode"), Common.GetAppSettingdataValue("ApiKey"), "/api/customer/validate", "POST", "application/json", content); if (response == null || response.StatusCode != HttpStatusCode.OK) { MessageBox.Show(Common.GetResourceKeyValue("AuthenticationValidationMsg"), Common.GetResourceKeyValue("Message"), MessageBoxButtons.OK); return; } } catch { MessageBox.Show(Common.GetResourceKeyValue("AuthenticationValidationMsg"), Common.GetResourceKeyValue("Error"), MessageBoxButtons.OK); return; } //Temporary store username and password to be updated in config file later on Common.AddAppSettingData("UserName", ((UserDetails)this.MdiChildren[0]).txtUserName.Text.Trim()); Common.AddAppSettingData("Password", ((UserDetails)this.MdiChildren[0]).txtPassword.Text.Trim()); //Open the new form ((UserDetails)this.MdiChildren[0]).Close(); lnkLblSyncOption.Links[0].Enabled = true; FormDetail.OpenSyncOptionForm(); break; case "LDAPPath": if (((SyncOption)this.MdiChildren[0]).rbtnUPN.Checked) { Common.AddAppSettingData("SyncOption", "userPrincipalName"); } else { Common.AddAppSettingData("SyncOption", "mail"); } ((SyncOption)this.MdiChildren[0]).Close(); lnkLblLDAPConfiguration.Links[0].Enabled = true; FormDetail.OpenLDAPPathForm(); break; case "CustomerEmail": dictionaryTextbox = new Dictionary <TextBox, string>(); if (((LDAPPath)this.MdiChildren[0]).chkEnableADServerName.Checked) { dictionaryTextbox.Add(((LDAPPath)this.MdiChildren[0]).txtLdapPathServerName, Common.GetResourceKeyValue("ServerNameRequired")); dictionaryTextbox.Add(((LDAPPath)this.MdiChildren[0]).txtOuPathServerName, Common.GetResourceKeyValue("ServerNameRequired")); dictionaryTextbox.Add(((LDAPPath)this.MdiChildren[0]).txtAdServerUsername, Common.GetResourceKeyValue("ServerUserNameRequired")); dictionaryTextbox.Add(((LDAPPath)this.MdiChildren[0]).txtAdServerPassword, Common.GetResourceKeyValue("ServerPassweordRequired")); } dictionaryTextbox.Add(((LDAPPath)this.MdiChildren[0]).txtLDAPPath, Common.GetResourceKeyValue("LDAPPathRequired")); dictionaryTextbox.Add(((LDAPPath)this.MdiChildren[0]).txtLDAPSecurityGroup, Common.GetResourceKeyValue("LDAPSecurityGroupRequired")); if (!IsControlRequiredFieldValidated(dictionaryTextbox)) { return; } if (((LDAPPath)this.MdiChildren[0]).chkEnableADServerName.Checked) { //Check whether ldap server validity try { //Checks the validity of LDAP path string ldapPath = "LDAP://" + ((LDAPPath)this.MdiChildren[0]).txtLdapPathServerName.Text.Trim() + "/" + ((LDAPPath)this.MdiChildren[0]).txtLDAPPath.Text.Trim(); bool isValidLDAP = Authenticate(ldapPath, ((LDAPPath)this.MdiChildren[0]).txtAdServerUsername.Text, ((LDAPPath)this.MdiChildren[0]).txtAdServerPassword.Text); if (isValidLDAP) { //Checks the validity of OU path string ouPath = "LDAP://" + ((LDAPPath)this.MdiChildren[0]).txtLdapPathServerName.Text.Trim() + "/" + ((LDAPPath)this.MdiChildren[0]).txtLDAPSecurityGroup.Text.Trim(); bool isValidOUPath = Authenticate(ouPath, ((LDAPPath)this.MdiChildren[0]).txtAdServerUsername.Text, ((LDAPPath)this.MdiChildren[0]).txtAdServerPassword.Text); if (!isValidOUPath) { MessageBox.Show(Common.GetResourceKeyValue("LDAPSecurityGroupValidation"), Common.GetResourceKeyValue("Message"), MessageBoxButtons.OK); return; } } else { MessageBox.Show(Common.GetResourceKeyValue("LDAPPathValidation"), Common.GetResourceKeyValue("Message"), MessageBoxButtons.OK); return; } Common.AddAppSettingData("ADServerName", ((LDAPPath)this.MdiChildren[0]).txtLdapPathServerName.Text.Trim()); Common.AddAppSettingData("ADServerUserName", ((LDAPPath)this.MdiChildren[0]).txtAdServerUsername.Text.Trim()); Common.AddAppSettingData("ADServerPassword", ((LDAPPath)this.MdiChildren[0]).txtAdServerPassword.Text.Trim()); Common.AddAppSettingData("LDAPPath", "LDAP://" + ((LDAPPath)this.MdiChildren[0]).txtLdapPathServerName.Text.Trim() + "/" + ((LDAPPath)this.MdiChildren[0]).txtLDAPPath.Text.Trim()); GlobalData.OUPath = "LDAP://" + ((LDAPPath)this.MdiChildren[0]).txtLdapPathServerName.Text.Trim() + "/" + ((LDAPPath)this.MdiChildren[0]).txtLDAPSecurityGroup.Text.Trim(); GlobalData.IsCheckBoxChecked = true; } catch (LdapException ldapException) { MessageBox.Show("Error - " + ldapException.Message); return; } } else { try { bool isLDAPPath = false; isLDAPPath = DirectoryEntry.Exists("LDAP://" + ((LDAPPath)this.MdiChildren[0]).txtLDAPPath.Text.Trim()); if (!isLDAPPath) { MessageBox.Show(Common.GetResourceKeyValue("LDAPPathValidation"), Common.GetResourceKeyValue("Message"), MessageBoxButtons.OK); return; } else { bool isValidOUGroup = false; isValidOUGroup = DirectoryEntry.Exists("LDAP://" + ((LDAPPath)this.MdiChildren[0]).txtLDAPSecurityGroup.Text.Trim()); if (!isValidOUGroup) { MessageBox.Show(Common.GetResourceKeyValue("LDAPSecurityGroupValidation"), Common.GetResourceKeyValue("Message"), MessageBoxButtons.OK); return; } } Common.AddAppSettingData("LDAPPath", "LDAP://" + ((LDAPPath)this.MdiChildren[0]).txtLDAPPath.Text.Trim()); GlobalData.OUPath = "LDAP://" + ((LDAPPath)this.MdiChildren[0]).txtLDAPSecurityGroup.Text.Trim(); GlobalData.IsCheckBoxChecked = false; } catch { MessageBox.Show(Common.GetResourceKeyValue("LDAPPathValidation"), Common.GetResourceKeyValue("Message"), MessageBoxButtons.OK); return; } } GlobalData.LdapString = ((LDAPPath)this.MdiChildren[0]).txtLDAPPath.Text.Trim(); GlobalData.OUString = ((LDAPPath)this.MdiChildren[0]).txtLDAPSecurityGroup.Text.Trim(); //Open the new form ((LDAPPath)this.MdiChildren[0]).Close(); lnkLblCustomerEmail.Links[0].Enabled = true; FormDetail.OpenCustomerEmailForm(); break; case "InstallationPath": dictionaryTextbox = new Dictionary <TextBox, string>(); dictionaryTextbox.Add(((CustomerEmail)this.MdiChildren[0]).txtCustomerEmail, Common.GetResourceKeyValue("CustomerEmailRequired")); if (!IsControlRequiredFieldValidated(dictionaryTextbox)) { return; } if (!Regex.IsMatch(((CustomerEmail)this.MdiChildren[0]).txtCustomerEmail.Text.Trim(), @"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" + @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$", RegexOptions.IgnoreCase)) { MessageBox.Show(Common.GetResourceKeyValue("CustomerEmailValidation"), Common.GetResourceKeyValue("Message"), MessageBoxButtons.OK); return; } Common.AddAppSettingData("NotificationEmail", ((CustomerEmail)this.MdiChildren[0]).txtCustomerEmail.Text.Trim()); ((CustomerEmail)this.MdiChildren[0]).Close(); lnkLblInstallationPath.Links[0].Enabled = true; FormDetail.OpenInstallationPathForm(); break; case "Install": if (Common.GetPreviousAppSettings() == null) { string path = ((InstallationPath)this.MdiChildren[0]).txtInstallationPath.Text; if (System.IO.Directory.Exists(path)) { GlobalData.InstallationPath = path; } else { MessageBox.Show(Common.GetResourceKeyValue("PathValidationMsg"), Common.GetResourceKeyValue("Message"), MessageBoxButtons.OK); return; } ((InstallationPath)this.MdiChildren[0]).Close(); lnkLblInstall.Links[0].Enabled = true; } else { ((frmWelcome)this.MdiChildren[0]).Close(); } FormDetail.OpenInstallForm(); break; } } }
/// <summary> /// Back button click event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnBack_Click(object sender, EventArgs e) { //Disabling the back button if it is a start form if (GlobalData.BackFormName == "StartForm") { btnBack.Enabled = false; } else { btnBack.Enabled = true; } btnNext.Text = Common.GetResourceKeyValue("CommonNext"); if (!string.IsNullOrEmpty(GlobalData.BackFormName)) { //loading the appropriate form based on the form name switch (GlobalData.BackFormName) { case "StartForm": if (Common.GetPreviousAppSettings() != null) { ((Install)this.MdiChildren[0]).Close(); } else { ((CustomerValidation)this.MdiChildren[0]).Close(); } FormDetail.OpenWelcomeForm(); break; case "CustomerValidation": ((UserDetails)this.MdiChildren[0]).Close(); FormDetail.OpenCustomerShortCodeForm(); break; case "UserDetails": ((SyncOption)this.MdiChildren[0]).Close(); FormDetail.OpenUserDetailsForm(); break; case "SyncOption": ((LDAPPath)this.MdiChildren[0]).Close(); FormDetail.OpenSyncOptionForm(); break; case "LDAPPath": ((CustomerEmail)this.MdiChildren[0]).Close(); FormDetail.OpenLDAPPathForm(); break; case "CustomerEmail": ((InstallationPath)this.MdiChildren[0]).Close(); FormDetail.OpenCustomerEmailForm(); break; case "InstallationPath": ((Install)this.MdiChildren[0]).Close(); FormDetail.OpenInstallationPathForm(); break; case "Install": FormDetail.OpenInstallForm(); break; } } }