private async void buttonBackupDownload_Click(object sender, EventArgs e) { nlog.Warn("buttonBackupDownload Clicked"); ConfigSaveAllItem(); string json = string.Empty; foreach (DataGridViewRow item in dgvInternalStorage.Rows) { if (bool.Parse(item.Cells[0].Value.ToString())) { var postParams = new List <KeyValuePair <string, string> >(); AsyncCall asyncCall = new AsyncCall(); postParams.Add(new KeyValuePair <string, string>("cloudDBInstanceNo", config.GetEnumValue(Category.Config, Key.CloudDbInstanceNo))); postParams.Add(new KeyValuePair <string, string>("fileName", item.Cells[1].EditedFormattedValue.ToString())); postParams.Add(new KeyValuePair <string, string>("responseFormatType", "json")); string endpointUrl = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; endpointUrl = endpointUrl + config.GetEnumValue(Category.Config, Key.ApiUrl); Task <string> result = asyncCall.WebApiCall( endpointUrl, GetPostType.POST, @"/clouddb/v2/uploadDmsFile", postParams); json = await result; nlog.Warn(json); } } ; ObjectStorageFileList(); InternalStorageFileList(); nlog.Warn("buttonBackupDownload Completed"); }
private async Task <string> getBackupListAsync() { nlog.Warn("getBackupListAsync Started"); ConfigSaveAllItem(); string json = string.Empty; try { var postParams = new List <KeyValuePair <string, string> >(); AsyncCall asyncCall = new AsyncCall(); postParams.Add(new KeyValuePair <string, string>("cloudDBInstanceNo", config.GetEnumValue(Category.Config, Key.CloudDbInstanceNo))); postParams.Add(new KeyValuePair <string, string>("databaseName", "")); postParams.Add(new KeyValuePair <string, string>("type", "")); postParams.Add(new KeyValuePair <string, string>("responseFormatType", "json")); string endpointUrl = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; endpointUrl = endpointUrl + config.GetEnumValue(Category.Config, Key.ApiUrl); Task <string> result = asyncCall.WebApiCall( endpointUrl , GetPostType.POST , @"/clouddb/v2/getBackupList" , postParams); json = await result; nlog.Warn(json); } catch (Exception e) { nlog.Error(string.Format("{0}, {1}", e.Message, e.StackTrace)); } StatusUpdate(Status.Completed); nlog.Warn("getBackupListAsync Completed"); return(json); }
private async Task <string> GetZoneListAsync() { nlog.Warn("GetZoneListAsync Started"); string json = string.Empty; try { var postParams = new List <KeyValuePair <string, string> >(); AsyncCall asyncCall = new AsyncCall(); postParams.Add(new KeyValuePair <string, string>("responseFormatType", "json")); postParams.Add(new KeyValuePair <string, string>("regionNo", "1")); string endpointUrl = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; endpointUrl = endpointUrl + config.GetEnumValue(Category.Config, Key.ApiUrl); Task <string> result = asyncCall.WebApiCall( endpointUrl , GetPostType.POST , "/server/v2/getZoneList" , postParams); json = await result; nlog.Warn(json); } catch (Exception e) { nlog.Error(string.Format("{0}, {1}", e.Message, e.StackTrace)); } return(json); }
private async void buttonSaveDmsInfo_Click(object sender, EventArgs e) { nlog.Warn("buttonSaveDmsInfo_Click Started"); StatusUpdate(Status.Working); ConfigSaveAllItem(); var postParams = new List <KeyValuePair <string, string> >(); AsyncCall asyncCall = new AsyncCall(); string objectEndpoint = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; objectEndpoint = objectEndpoint + config.GetEnumValue(Category.Config, Key.ObjectEndPoint); postParams.Add(new KeyValuePair <string, string>("objectStorageAccessKey", config.GetEnumValue(Category.Config, Key.ObjectAccessKey))); postParams.Add(new KeyValuePair <string, string>("objectStorageSecretKey", config.GetEnumValue(Category.Config, Key.ObjectSecretKey))); postParams.Add(new KeyValuePair <string, string>("endpoint", objectEndpoint)); postParams.Add(new KeyValuePair <string, string>("bucketName", config.GetEnumValue(Category.Config, Key.ObjectBucket))); postParams.Add(new KeyValuePair <string, string>("responseFormatType", "json")); string apiEndpointUrl = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; apiEndpointUrl = apiEndpointUrl + config.GetEnumValue(Category.Config, Key.ApiUrl); Task <string> result = asyncCall.WebApiCall( apiEndpointUrl , GetPostType.POST , @"/clouddb/v2/setObjectStorageInfo" , postParams); string json = await result; nlog.Warn(json); MessageBox.Show(json); StatusUpdate(Status.Completed); nlog.Warn("buttonSaveDmsInfo_Click Completed"); }
private async Task <string> getObjectStorageBackupListAync(string objectFolder) { nlog.Warn("BackupStorageFileListAync Started"); workBackupStorage = true; ConfigSaveAllItem(); string json = string.Empty; try { var postParams = new List <KeyValuePair <string, string> >(); AsyncCall asyncCall = new AsyncCall(); postParams.Add(new KeyValuePair <string, string>("cloudDBInstanceNo", config.GetEnumValue(Category.Config, Key.CloudDbInstanceNo))); postParams.Add(new KeyValuePair <string, string>("folderName", objectFolder)); postParams.Add(new KeyValuePair <string, string>("responseFormatType", "json")); string endpointUrl = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; endpointUrl = endpointUrl + config.GetEnumValue(Category.Config, Key.ApiUrl); Task <string> result = asyncCall.WebApiCall( endpointUrl , GetPostType.POST , @"/clouddb/v2/getObjectStorageBackupList" , postParams); json = await result; nlog.Warn(json); } catch (Exception ex) { nlog.Error(string.Format("{0}, {1}", ex.Message, ex.StackTrace)); } finally { workBackupStorage = false; } nlog.Warn("BackupStorageFileListAync Completed"); return(json); }
private async void buttonApiGatewayTest_Click(object sender, EventArgs e) { nlog.Warn("buttonApiGatewayTest_Click Started"); StatusUpdate(Status.Working); try { if (textApiUrl.Text.ToUpper().StartsWith(@"HTTP://")) { textApiUrl.Text = textApiUrl.Text.Substring(7, textApiUrl.Text.Length - 7); } if (textApiUrl.Text.ToUpper().StartsWith(@"HTTPS://")) { textApiUrl.Text = textApiUrl.Text.Substring(8, textApiUrl.Text.Length - 8); } } catch (Exception) { } ConfigSaveAllItem(); var postParams = new List <KeyValuePair <string, string> >(); AsyncCall asyncCall = new AsyncCall(); string endpointUrl = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; endpointUrl = endpointUrl + config.GetEnumValue(Category.Config, Key.ApiUrl); Task <string> result = asyncCall.WebApiCall( endpointUrl , GetPostType.GET , @"/clouddb/v2/" + config.GetEnumValue(Category.Config, Key.DefaultTestApi) + "?dbKindCode=MSSQL&responseFormatType=json" , postParams); string json = await result; nlog.Warn(json); MessageBox.Show(json); StatusUpdate(Status.Completed); nlog.Warn("buttonApiGatewayTest_Click Completed"); }
private async void buttonRestoreLog_Click(object sender, EventArgs e) { nlog.Warn("buttonLogRecovery Started"); StatusUpdate(Status.Working); try { if (!CheckBoxCountCheck(1)) { MessageBox.Show("please selecet one file"); return; } ConfigSaveAllItem(); string json = string.Empty; string checkStatus = string.Empty; checkStatus = checkRecovery.CheckState == CheckState.Checked ? "true" : "false"; foreach (DataGridViewRow item in dgvBackupStorage.Rows) { if (bool.Parse(item.Cells[0].Value.ToString())) { var postParams = new List <KeyValuePair <string, string> >(); AsyncCall asyncCall = new AsyncCall(); string recoveryFilename = string.Empty; if (config.GetEnumValue(Category.Upload, Key.InternalFolder).Trim().Length > 0) { recoveryFilename = config.GetEnumValue(Category.Upload, Key.InternalFolder).Trim() + @"/" + item.Cells[1].EditedFormattedValue.ToString(); } else { recoveryFilename = item.Cells[1].EditedFormattedValue.ToString(); } long recoveryFileSize = Convert.ToInt64(item.Cells[2].EditedFormattedValue.ToString()); if (await IsMatchFileSizeInObjectStorage(recoveryFilename, recoveryFileSize)) { postParams.Add(new KeyValuePair <string, string>("cloudDBInstanceNo", config.GetEnumValue(Category.Config, Key.CloudDbInstanceNo))); postParams.Add(new KeyValuePair <string, string>("fileName", recoveryFilename)); postParams.Add(new KeyValuePair <string, string>("isRecovery", checkStatus)); postParams.Add(new KeyValuePair <string, string>("newDatabaseName", config.GetEnumValue(Category.Upload, Key.NewDatabaseName))); postParams.Add(new KeyValuePair <string, string>("responseFormatType", "json")); if (textStopAtTime.Text != "0000-00-00T00:00:00+0900") { postParams.Add(new KeyValuePair <string, string>("stopTime", textStopAtTime.Text)); } string endpointUrl = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; endpointUrl = endpointUrl + config.GetEnumValue(Category.Config, Key.ApiUrl); Task <string> result = asyncCall.WebApiCall( endpointUrl , GetPostType.POST , @"/clouddb/v2/restoreDmsTransactionLog" , postParams); json = await result; nlog.Warn(json); restoreDmsTransactionLog restoreDmsTransactionLog = JsonConvert.DeserializeObject <restoreDmsTransactionLog>(json); ApiResponseRecord( config.GetEnumValue(Category.Config, Key.CloudDbInstanceNo), config.GetEnumValue(Category.Upload, Key.NewDatabaseName), item.Cells[1].EditedFormattedValue.ToString() , new Response { requestNo = restoreDmsTransactionLog.restoreDmsTransactionLogResponse.requestNo, requestReturnCode = restoreDmsTransactionLog.restoreDmsTransactionLogResponse.returnCode, returnCode = "", returnCodeName = "" }); } } } BackupStorageFileList(); } catch (Exception ex) { nlog.Error(string.Format("{0},{1}", ex.Message, ex.StackTrace)); } nlog.Warn("buttonLogRecovery Completed"); }
private async void updateRestoreStatus() { ConfigSaveAllItem(); apiResponseTemp.Clear(); string json = string.Empty; foreach (var a in apiResponses) { try { var postParams = new List <KeyValuePair <string, string> >(); AsyncCall asyncCall = new AsyncCall(); postParams.Add(new KeyValuePair <string, string>("requestNo", a.Value.requestNo)); postParams.Add(new KeyValuePair <string, string>("responseFormatType", "json")); string endpointUrl = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; endpointUrl = endpointUrl + config.GetEnumValue(Category.Config, Key.ApiUrl); Task <string> result = asyncCall.WebApiCall( endpointUrl , GetPostType.POST , @"/clouddb/v2/getDmsOperation" , postParams); json = await result; var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; getDmsOperation getDmsOperation = JsonConvert.DeserializeObject <getDmsOperation>(json, settings); string codeName = string.Empty; try { codeName = getDmsOperation.getDmsOperationResponse.status.codeName; } catch { } if (codeName == string.Empty) { codeName = "UNKNOWN ERROR!"; } apiResponseTemp.Add(a.Key, new Response { requestNo = a.Value.requestNo, requestReturnCode = a.Value.requestReturnCode, returnCode = getDmsOperation.getDmsOperationResponse.returnCode, returnCodeName = codeName }); nlog.Warn(json); } catch (Exception ex) { nlog.Error(string.Format("{0}, {1}", ex.Message, ex.StackTrace)); } } try { foreach (var temp in apiResponseTemp) { apiResponses[temp.Key] = temp.Value; } apiResponseTemp.Clear(); } catch (Exception ex) { nlog.Error(string.Format("{0}, {1}", ex.Message, ex.StackTrace)); } }
private async void buttonRestoreDatabase_Click(object sender, EventArgs e) { nlog.Warn("buttonDatabaseRecovery Started"); StatusUpdate(Status.Working); if (!CheckBoxCountCheck(1)) { MessageBox.Show("please selecet one file"); return; } ConfigSaveAllItem(); string json = string.Empty; string checkStatus = string.Empty; checkStatus = checkRecovery.CheckState == CheckState.Checked ? "true" : "false"; try { foreach (DataGridViewRow item in dgvBackupStorage.Rows) { if (bool.Parse(item.Cells[0].Value.ToString())) { var postParams = new List <KeyValuePair <string, string> >(); AsyncCall asyncCall = new AsyncCall(); string recoveryFilename = string.Empty; if (textInternalFolder.Text.Trim().Length > 0) { recoveryFilename = textInternalFolder.Text.Trim() + @"/" + item.Cells[1].EditedFormattedValue.ToString(); } else { recoveryFilename = item.Cells[1].EditedFormattedValue.ToString(); } long recoveryFileSize = Convert.ToInt64(item.Cells[2].EditedFormattedValue.ToString()); if (await IsMatchFileSizeInObjectStorage(recoveryFilename, recoveryFileSize)) { postParams.Add(new KeyValuePair <string, string>("cloudDBInstanceNo", config.GetEnumValue(Category.Config, Key.CloudDbInstanceNo))); postParams.Add(new KeyValuePair <string, string>("fileName", recoveryFilename)); postParams.Add(new KeyValuePair <string, string>("isRecovery", checkStatus)); postParams.Add(new KeyValuePair <string, string>("newDatabaseName", config.GetEnumValue(Category.Upload, Key.NewDatabaseName))); postParams.Add(new KeyValuePair <string, string>("responseFormatType", "json")); string endpointUrl = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; endpointUrl = endpointUrl + config.GetEnumValue(Category.Config, Key.ApiUrl); Task <string> result = asyncCall.WebApiCall( endpointUrl , GetPostType.POST , @"/clouddb/v2/restoreDmsDatabase" , postParams); json = await result; nlog.Warn(json); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; if (json.Contains("responseError")) { var responseError = JsonConvert.DeserializeObject <ResponseError>(json, settings); string errorMessage = $@"returnMessage : {responseError.responseError.returnMessage}, returnCode : {responseError.responseError.returnCode} {Environment.NewLine}Check the internal storage folder name."; throw new Exception(errorMessage); } else { restoreDmsDatabase restoreDmsDatabase = JsonConvert.DeserializeObject <restoreDmsDatabase>(json); ApiResponseRecord( config.GetEnumValue(Category.Config, Key.CloudDbInstanceNo), config.GetEnumValue(Category.Upload, Key.NewDatabaseName), item.Cells[1].EditedFormattedValue.ToString() , new Response { requestNo = restoreDmsDatabase.restoreDmsDatabaseResponse.requestNo, requestReturnCode = restoreDmsDatabase.restoreDmsDatabaseResponse.returnCode, returnCode = "", returnCodeName = "" }); } } } } } catch (Exception ex) { nlog.Error(string.Format("{0}, {1}", ex.Message, ex.StackTrace)); MessageBox.Show(ex.Message); } BackupStorageFileList(); nlog.Warn("buttonDatabaseRecovery Completed"); }
private async void buttonSaveDmsInfo_Click(object sender, EventArgs e) { nlog.Warn("buttonSaveDmsInfo_Click Started"); if (!TargetObjectStorageInfoTested) { MessageBox.Show("Save after performing the Target Object Storage Info Connection test."); return; } if (!ApigatewayInfoTested) { MessageBox.Show("Save after performing the ApiGateway Info Connection test."); return; } if (!DatabaseInfoTested) { MessageBox.Show("Save after performing the Database Info Connection test."); return; } StatusUpdate(Status.Working); ConfigSaveAllItem(); var postParams = new List <KeyValuePair <string, string> >(); AsyncCall asyncCall = new AsyncCall(); string objectEndpoint = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; objectEndpoint = objectEndpoint + config.GetEnumValue(Category.Config, Key.ObjectEndPoint); postParams.Add(new KeyValuePair <string, string>("objectStorageAccessKey", config.GetEnumValue(Category.Config, Key.ObjectAccessKey))); postParams.Add(new KeyValuePair <string, string>("objectStorageSecretKey", config.GetEnumValue(Category.Config, Key.ObjectSecretKey))); postParams.Add(new KeyValuePair <string, string>("endpoint", objectEndpoint)); postParams.Add(new KeyValuePair <string, string>("bucketName", config.GetEnumValue(Category.Config, Key.ObjectBucket))); postParams.Add(new KeyValuePair <string, string>("responseFormatType", "json")); string apiEndpointUrl = config.GetEnumValue(Category.Config, Key.UseSSLApiGateway) == "1" ? @"https://" : @"http://"; apiEndpointUrl = apiEndpointUrl + config.GetEnumValue(Category.Config, Key.ApiUrl); Task <string> result; if (Platform.Equals("CP")) { result = asyncCall.WebApiCall( apiEndpointUrl , GetPostType.POST , @"/clouddb/v2/setObjectStorageInfo" , postParams); } else { result = asyncCall.WebApiCall( apiEndpointUrl , GetPostType.POST , @"/vmssql/v2/setDmsObjectStorageInfo" , postParams); } string json = await result; nlog.Warn(json); if (json.Contains("success")) { MessageBox.Show("DMT setting information was saved on the server."); } StatusUpdate(Status.Completed); nlog.Warn("buttonSaveDmsInfo_Click Completed"); }