Server
UcCreateServer.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
using HaTool.Model.NCloud;
using LogClient;
using HaTool.Config;
using CsLib;
using Newtonsoft.Json;
using HaTool.Global;
using Newtonsoft.Json.Linq;
using HaTool.Model;
namespace HaTool.Server
{
public partial clast UcCreateServer : UserControl
{
private static readonly Lazy lazy =
new Lazy(() => new UcCreateServer(), LazyThreadSafetyMode.ExecutionAndPublication);
public static UcCreateServer Instance { get { return lazy.Value; } }
LogClient.Config logClientConfig = LogClient.Config.Instance;
DataManager dataManager = DataManager.Instance;
FileDb fileDb = FileDb.Instance;
FormNcpRestPreview formNcpRestPreview = FormNcpRestPreview.Instance;
private serverInstance CheckedServer = new serverInstance();
public UcCreateServer()
{
InitializeComponent();
formNcpRestPreview.ScriptCompleteEvent += PreviewActionCompleted;
}
private async void LoadData(object sender, EventArgs e)
{
dataManager.LoadUserData();
try
{
List tasks = new List();
tasks.Add(GetRegionList());
tasks.Add(GetZoneList("1"));
tasks.Add(GetServerImageProductList("SPSW0WINNTEN0043A", "1"));
tasks.Add(GetServerProductList("SPSW0WINNTEN0043A", "1", "2"));
tasks.Add(GetAccessControlGroupList());
await Task.WhenAll(tasks);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private async Task GetAccessControlGroupList()
{
try
{
string endpoint = dataManager.GetValue(DataManager.Category.ApiGateway, DataManager.Key.Endpoint);
string action = @"/server/v2/getAccessControlGroupList";
List parameters = new List();
parameters.Add(new KeyValuePair("responseFormatType", "json"));
SoaCall soaCall = new SoaCall();
var task = soaCall.WebApiCall(endpoint, RequestType.POST, action, parameters, LogClient.Config.Instance.GetValue(Category.Api, Key.AccessKey), LogClient.Config.Instance.GetValue(Category.Api, Key.SecretKey));
string response = await task;
JsonSerializerSettings options = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
MissingMemberHandling = MissingMemberHandling.Ignore
};
if (response.Contains("responseError"))
{
hasError hasError = JsonConvert.DeserializeObject(response, options);
throw new Exception(hasError.responseError.returnMessage);
}
else
{
getAccessControlGroupList getAccessControlGroupList = JsonConvert.DeserializeObject(response, options);
if (getAccessControlGroupList.getAccessControlGroupListResponse.returnCode.Equals("0"))
{
comboBoxACG1.Items.Clear();
comboBoxACG2.Items.Clear();
comboBoxACG3.Items.Clear();
comboBoxACG4.Items.Clear();
comboBoxACG5.Items.Clear();
foreach (var a in getAccessControlGroupList.getAccessControlGroupListResponse.accessControlGroupList)
{
var item = new accessControlGroup
{
accessControlGroupConfigurationNo = a.accessControlGroupConfigurationNo,
accessControlGroupName = a.accessControlGroupName,
accessControlGroupDescription = a.accessControlGroupDescription,
isDefault = a.isDefault,
createDate = a.createDate
};
comboBoxACG1.Items.Add(item);
comboBoxACG2.Items.Add(item);
comboBoxACG3.Items.Add(item);
comboBoxACG4.Items.Add(item);
comboBoxACG5.Items.Add(item);
}
}
}
}
catch (Exception)
{
throw;
}
comboBoxZone.SelectedIndex = 0;
}
private async Task GetServerProductList(
string serverImageProductCode
, string regionNo
, string zoneNo
)
{
try
{
string endpoint = dataManager.GetValue(DataManager.Category.ApiGateway, DataManager.Key.Endpoint);
string action = @"/server/v2/getServerProductList";
List parameters = new List();
parameters.Add(new KeyValuePair("responseFormatType", "json"));
parameters.Add(new KeyValuePair("serverImageProductCode", serverImageProductCode));
parameters.Add(new KeyValuePair("regionNo", regionNo));
parameters.Add(new KeyValuePair("zoneNo", zoneNo));
SoaCall soaCall = new SoaCall();
var task = soaCall.WebApiCall(endpoint, RequestType.POST, action, parameters, LogClient.Config.Instance.GetValue(Category.Api, Key.AccessKey), LogClient.Config.Instance.GetValue(Category.Api, Key.SecretKey));
string response = await task;
JsonSerializerSettings options = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
MissingMemberHandling = MissingMemberHandling.Ignore
};
comboBoxServer.InvokeIfRequired(s => {
if (response.Contains("responseError"))
{
hasError hasError = JsonConvert.DeserializeObject(response, options);
throw new Exception(hasError.responseError.returnMessage);
}
else
{
getServerProductList getServerProductList = JsonConvert.DeserializeObject(response, options);
if (getServerProductList.getServerProductListResponse.returnCode.Equals("0"))
{
s.Items.Clear();
foreach (var a in getServerProductList.getServerProductListResponse.productList)
{
var item = new srvProduct
{
productCode = a.productCode,
productName = a.productName,
productType = new codeCodeName
{
code = a.productType.code,
codeName = a.productType.codeName
},
productDescription = a.productDescription,
infraResourceType = new codeCodeName
{
code = a.infraResourceType.code,
codeName = a.infraResourceType.codeName
},
cpuCount = a.cpuCount,
memorySize = a.memorySize,
baseBlockStorageSize = a.baseBlockStorageSize,
osInformation = a.osInformation,
diskType = new codeCodeName
{
code = a.diskType.code,
codeName = a.diskType.codeName
},
dbKindCode = a.dbKindCode,
addBlockStorageSize = a.addBlockStorageSize,
};
s.Items.Add(item);
}
}
}
s.SelectedIndex = 0;
});
}
catch (Exception)
{
throw;
}
}
private async Task GetServerImageProductList(string productCode, string regionNo)
{
try
{
string endpoint = dataManager.GetValue(DataManager.Category.ApiGateway, DataManager.Key.Endpoint);
string action = @"/server/v2/getServerImageProductList";
List parameters = new List();
parameters.Add(new KeyValuePair("responseFormatType", "json"));
parameters.Add(new KeyValuePair("blockStorageSize", "100"));
parameters.Add(new KeyValuePair("productCode", "SPSW0WINNTEN0043A"));
parameters.Add(new KeyValuePair("regionNo", regionNo));
SoaCall soaCall = new SoaCall();
var task = soaCall.WebApiCall(endpoint, RequestType.POST, action, parameters, LogClient.Config.Instance.GetValue(Category.Api, Key.AccessKey), LogClient.Config.Instance.GetValue(Category.Api, Key.SecretKey));
string response = await task;
JsonSerializerSettings options = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
MissingMemberHandling = MissingMemberHandling.Ignore
};
comboBoxServerImage.InvokeIfRequired(s => {
if (response.Contains("responseError"))
{
hasError hasError = JsonConvert.DeserializeObject(response, options);
throw new Exception(hasError.responseError.returnMessage);
}
else
{
getServerImageProductList getServerImageProductList = JsonConvert.DeserializeObject(response, options);
if (getServerImageProductList.getServerImageProductListResponse.returnCode.Equals("0"))
{
s.Items.Clear();
foreach (var a in getServerImageProductList.getServerImageProductListResponse.productList)
{
var item = new imgProduct
{
productCode = a.productCode,
productName = a.productName,
productType = new codeCodeName
{
code = a.productType.code,
codeName = a.productType.codeName
},
productDescription = a.productDescription,
infraResourceType = new codeCodeName
{
code = a.infraResourceType.code,
codeName = a.infraResourceType.codeName
},
cpuCount = a.cpuCount,
memorySize = a.memorySize,
baseBlockStorageSize = a.baseBlockStorageSize,
platformType = new codeCodeName
{
code = a.platformType.code,
codeName = a.platformType.codeName
},
osInformation = a.osInformation,
dbKindCode = a.dbKindCode,
addBlockStorageSize = a.addBlockStorageSize,
};
s.Items.Add(item);
}
}
}
s.SelectedIndex = 0;
});
}
catch (Exception)
{
throw;
}
}
private async Task GetZoneList(string regionNo)
{
try
{
string endpoint = dataManager.GetValue(DataManager.Category.ApiGateway, DataManager.Key.Endpoint);
string action = @"/server/v2/getZoneList";
List parameters = new List();
parameters.Add(new KeyValuePair("responseFormatType", "json"));
parameters.Add(new KeyValuePair("regionNo", regionNo));
SoaCall soaCall = new SoaCall();
var task = soaCall.WebApiCall(endpoint, RequestType.POST, action, parameters, LogClient.Config.Instance.GetValue(Category.Api, Key.AccessKey), LogClient.Config.Instance.GetValue(Category.Api, Key.SecretKey));
string response = await task;
JsonSerializerSettings options = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
MissingMemberHandling = MissingMemberHandling.Ignore
};
comboBoxZone.InvokeIfRequired(s =>
{
if (response.Contains("responseError"))
{
hasError hasError = JsonConvert.DeserializeObject(response, options);
throw new Exception(hasError.responseError.returnMessage);
}
else
{
getZoneList getZoneList = JsonConvert.DeserializeObject(response, options);
if (getZoneList.getZoneListResponse.returnCode.Equals("0"))
{
s.Items.Clear();
foreach (var a in getZoneList.getZoneListResponse.zoneList)
{
var item = new zone
{
zoneNo = a.zoneNo,
zoneName = a.zoneName,
zoneCode = a.zoneCode,
zoneDescription = a.zoneDescription,
regionNo = a.regionNo
};
s.Items.Add(item);
}
}
}
s.SelectedIndex = 0;
});
}
catch (Exception)
{
throw;
}
}
private async Task GetRegionList()
{
try
{
string endpoint = dataManager.GetValue(DataManager.Category.ApiGateway, DataManager.Key.Endpoint);
string action = @"/server/v2/getRegionList";
List parameters = new List();
parameters.Add(new KeyValuePair("responseFormatType", "json"));
SoaCall soaCall = new SoaCall();
var task = soaCall.WebApiCall(endpoint, RequestType.POST, action, parameters, LogClient.Config.Instance.GetValue(Category.Api, Key.AccessKey), LogClient.Config.Instance.GetValue(Category.Api, Key.SecretKey));
string response = await task;
JsonSerializerSettings options = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
MissingMemberHandling = MissingMemberHandling.Ignore
};
if (response.Contains("responseError"))
{
hasError hasError = JsonConvert.DeserializeObject(response, options);
throw new Exception(hasError.responseError.returnMessage);
}
else
{
getRegionList getRegionList = JsonConvert.DeserializeObject(response, options);
if (getRegionList.getRegionListResponse.returnCode.Equals("0"))
{
comboBoxRegion.Items.Clear();
foreach (var a in getRegionList.getRegionListResponse.regionList)
{
var item = new region
{
regionNo = a.regionNo,
regionCode = a.regionCode,
regionName = a.regionName
};
// regionNo 1 Korea
comboBoxRegion.Items.Add(item);
}
}
}
}
catch (Exception)
{
throw;
}
comboBoxRegion.SelectedIndex = 0;
//MessageBox.Show((comboBoxRegion.SelectedItem as region).regionCode);
}
private bool PreconditionCheck()
{
string userDataFinal = dataManager.GetValue(DataManager.Category.InitScript, DataManager.Key.userDataFinal);
if (userDataFinal.Trim().Length == 0)
throw new Exception("The startup script is not set. Please set InitScript in Config Tab.");
return true;
}
private async void buttonCreateServer_Click(object sender, EventArgs e)
{
try
{
if (!PreconditionCheck())
return;
buttonCreateServer.Text = "requested";
buttonCreateServer.Enabled = false;
InputCheck(false);
MessageBox.Show("server create started please wait 10 min.");
string command = GetCreateServerInstancesJsonCommand();
formNcpRestPreview.Action = @"/server/v2/createServerInstances";
formNcpRestPreview.Command = command;
formNcpRestPreview.Callback = true;
await formNcpRestPreview.RestCall();
await ResponseFileDbSave(formNcpRestPreview.Result);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
buttonCreateServer.Text = "Create Server";
buttonCreateServer.Enabled = true;
}
}
private async Task ResponseFileDbSave(string response)
{
try
{
List serverInstances = new List();
JsonSerializerSettings options = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
MissingMemberHandling = MissingMemberHandling.Ignore
};
if (response.Contains("responseError"))
{
hasError hasError = JsonConvert.DeserializeObject(response, options);
throw new Exception(hasError.responseError.returnMessage);
}
else
{
createServerInstances createServerInstances = JsonConvert.DeserializeObject(response, options);
if (createServerInstances.createServerInstancesResponse.returnCode.Equals("0"))
{
serverInstances.Clear();
foreach (var a in createServerInstances.createServerInstancesResponse.serverInstanceList)
{
var item = new serverInstance
{
serverName = a.serverName,
serverInstanceNo = a.serverInstanceNo,
publicIp = a.publicIp,
privateIp = a.privateIp,
region = new region
{
regionNo = a.region.regionNo,
regionCode = a.region.regionCode,
regionName = a.region.regionName
},
zone = new zone
{
zoneNo = a.zone.zoneNo,
zoneName = a.zone.zoneName,
zoneCode = a.zone.zoneCode,
zoneDescription = a.zone.zoneDescription,
regionNo = a.zone.regionNo
},
serverImageProductCode = a.serverImageProductCode,
serverProductCode = a.serverProductCode,
feeSystemTypeCode = "FXSUM",
loginKeyName = a.loginKeyName,
// where is acg list ?
};
serverInstances.Add(item);
}
if (createServerInstances.createServerInstancesResponse.totalRows == 0)
{
CheckedServer = new serverInstance();
new Exception ("createServerInstances response error.");
}
else
{
foreach (var a in serverInstances)
{
var p = new List();
p.Add(new KeyValuePair("serverName", a.serverName));
p.Add(new KeyValuePair("serverInstanceNo", a.serverInstanceNo));
p.Add(new KeyValuePair("serverPublicIp", a.publicIp));
p.Add(new KeyValuePair("serverPrivateIp", a.privateIp));
p.Add(new KeyValuePair("regionNo", a.region.regionNo));
p.Add(new KeyValuePair("zoneNo", a.zone.zoneNo));
p.Add(new KeyValuePair("serverImageProductCode", a.serverImageProductCode));
p.Add(new KeyValuePair("serverProductCode", a.serverProductCode));
p.Add(new KeyValuePair("feeSystemTypeCode", a.feeSystemTypeCode));
p.Add(new KeyValuePair("loginKeyName", a.loginKeyName));
if (comboBoxACG1.Text.Equals(""))
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_1", "NULL"));
else
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_1", (comboBoxACG1.SelectedItem as accessControlGroup).accessControlGroupConfigurationNo));
if (comboBoxACG2.Text.Equals(""))
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_2", "NULL"));
else
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_2", (comboBoxACG2.SelectedItem as accessControlGroup).accessControlGroupConfigurationNo));
if (comboBoxACG3.Text.Equals(""))
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_3", "NULL"));
else
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_3", (comboBoxACG3.SelectedItem as accessControlGroup).accessControlGroupConfigurationNo));
if (comboBoxACG4.Text.Equals(""))
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_4", "NULL"));
else
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_4", (comboBoxACG4.SelectedItem as accessControlGroup).accessControlGroupConfigurationNo));
if (comboBoxACG5.Text.Equals(""))
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_5", "NULL"));
else
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_5", (comboBoxACG5.SelectedItem as accessControlGroup).accessControlGroupConfigurationNo));
await fileDb.UpSertTable(FileDb.TableName.TBL_SERVER, p);
}
}
}
}
}
catch (Exception)
{
throw;
}
}
private async void PreviewActionCompleted(object sender, ScriptArgs e)
{
await ResponseFileDbSave(e.Script);
}
private void buttonCommandPreview_Click(object sender, EventArgs e)
{
try
{
InputCheck(false);
string command = GetCreateServerInstancesJsonCommand();
formNcpRestPreview.Action = @"/server/v2/createServerInstances";
formNcpRestPreview.Command = command;
formNcpRestPreview.Callback = true;
formNcpRestPreview.StartPosition = FormStartPosition.CenterScreen;
formNcpRestPreview.ShowDialog();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private async void ComboBoxRegionChanged(object sender, EventArgs e)
{
try
{
if (comboBoxServerImage.Items.Count > 0)
{
ComboBox c = (ComboBox)sender;
string regionNo = (c.SelectedItem as region).regionNo;
await GetZoneList(regionNo);
string serverImageProductCode = (comboBoxServerImage.SelectedItem as imgProduct).productCode;
string zoneNo = (comboBoxZone.SelectedItem as zone).zoneNo;
await GetServerProductList(serverImageProductCode, regionNo, zoneNo);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private async void buttonServerNameCheck_Click(object sender, EventArgs e)
{
try
{
await ServerNameCheck();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private async Task ServerNameCheck(bool message = true)
{
try
{
if (textBoxServerName.Text.Length < 3)
throw new Exception("check server name first");
List serverInstances = new List();
string endpoint = dataManager.GetValue(DataManager.Category.ApiGateway, DataManager.Key.Endpoint);
string action = @"/server/v2/getServerInstanceList";
List parameters = new List();
parameters.Add(new KeyValuePair("responseFormatType", "json"));
parameters.Add(new KeyValuePair("searchFilterName", "serverName"));
parameters.Add(new KeyValuePair("searchFilterValue", textBoxServerName.Text.Trim()));
SoaCall soaCall = new SoaCall();
var task = soaCall.WebApiCall(endpoint, RequestType.POST, action, parameters, LogClient.Config.Instance.GetValue(Category.Api, Key.AccessKey), LogClient.Config.Instance.GetValue(Category.Api, Key.SecretKey));
string response = await task;
JsonSerializerSettings options = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
MissingMemberHandling = MissingMemberHandling.Ignore
};
if (response.Contains("responseError"))
{
hasError hasError = JsonConvert.DeserializeObject(response, options);
throw new Exception(hasError.responseError.returnMessage);
}
else
{
getServerInstanceList getServerInstanceList = JsonConvert.DeserializeObject(response, options);
if (getServerInstanceList.getServerInstanceListResponse.returnCode.Equals("0"))
{
serverInstances.Clear();
foreach (var a in getServerInstanceList.getServerInstanceListResponse.serverInstanceList)
{
var item = new serverInstance
{
serverInstanceNo = a.serverInstanceNo,
serverName = a.serverName,
publicIp = a.publicIp,
privateIp = a.privateIp,
serverInstanceStatus = new codeCodeName
{
code = a.serverInstanceStatus.code,
codeName = a.serverInstanceStatus.codeName
},
serverInstanceOperation = new codeCodeName
{
code = a.serverInstanceOperation.code,
codeName = a.serverInstanceOperation.codeName
}
};
serverInstances.Add(item);
}
if (getServerInstanceList.getServerInstanceListResponse.totalRows == 0)
{
CheckedServer = new serverInstance();
if (message)
MessageBox.Show("You can use the name as the server name.");
}
else
{
bool matched = false;
foreach (var a in serverInstances)
{
if (a.serverName.Equals(textBoxServerName.Text.Trim(), StringComparison.OrdinalIgnoreCase))
{
matched = true;
CheckedServer = a;
if (message)
MessageBox.Show($"You have a server with that name. serverInstanceNo : {CheckedServer.serverInstanceNo}");
}
}
if (!matched)
if (message)
MessageBox.Show("You can use the name as the server name.");
}
}
}
}
catch (Exception)
{
throw;
}
}
private string GetCreateServerInstancesJsonCommand()
{
try
{
List listKeyValueParameters = GetParameters();
listKeyValueParameters.Add(new KeyValuePair("responseFormatType", "json"));
listKeyValueParameters.Add(new KeyValuePair("userData", TranString.EncodeBase64(dataManager.GetValue(DataManager.Category.InitScript, DataManager.Key.userDataFinal))));
Dictionary dicParameters = new Dictionary();
foreach (var a in listKeyValueParameters)
{
if (a.Value == null || a.Value.Equals("NULL", StringComparison.OrdinalIgnoreCase))
{
}
else
dicParameters.Add(a.Key, a.Value);
}
JToken jt = JToken.Parse(JsonConvert.SerializeObject(dicParameters));
return jt.ToString(Newtonsoft.Json.Formatting.Indented).Replace("_",".");
}
catch (Exception)
{
throw;
}
}
private async void buttonDbSave_Click(object sender, EventArgs e)
{
try
{
await ServerNameCheck(false);
await Save();
MessageBox.Show("saved");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void InputCheck(bool checkServerInstanceNo)
{
if(checkServerInstanceNo)
if (CheckedServer.serverInstanceNo == null)
throw new Exception("check server name first");
if (textBoxServerName.Text.Length < 3)
throw new Exception("check server name first");
if (comboBoxACG1.Text.Equals("")
&& comboBoxACG2.Text.Equals("")
&& comboBoxACG3.Text.Equals("")
&& comboBoxACG4.Text.Equals("")
&& comboBoxACG5.Text.Equals(""))
throw new Exception("check acg first");
}
private List GetParameters()
{
var p = new List();
p.Add(new KeyValuePair("serverName", textBoxServerName.Text));
p.Add(new KeyValuePair("serverInstanceNo", CheckedServer.serverInstanceNo));
p.Add(new KeyValuePair("serverPublicIp", CheckedServer.publicIp));
p.Add(new KeyValuePair("serverPrivateIp", CheckedServer.privateIp));
p.Add(new KeyValuePair("regionNo", (comboBoxRegion.SelectedItem as region).regionNo));
p.Add(new KeyValuePair("zoneNo", (comboBoxZone.SelectedItem as zone).zoneNo));
p.Add(new KeyValuePair("serverImageProductCode", (comboBoxServerImage.SelectedItem as imgProduct).productCode));
p.Add(new KeyValuePair("serverProductCode", (comboBoxServer.SelectedItem as srvProduct).productCode));
p.Add(new KeyValuePair("feeSystemTypeCode", "FXSUM"));
p.Add(new KeyValuePair("loginKeyName", dataManager.GetValue(DataManager.Category.LoginKey, DataManager.Key.Name)));
if (comboBoxACG1.Text.Equals(""))
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_1", "NULL"));
else
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_1", (comboBoxACG1.SelectedItem as accessControlGroup).accessControlGroupConfigurationNo));
if (comboBoxACG2.Text.Equals(""))
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_2", "NULL"));
else
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_2", (comboBoxACG2.SelectedItem as accessControlGroup).accessControlGroupConfigurationNo));
if (comboBoxACG3.Text.Equals(""))
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_3", "NULL"));
else
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_3", (comboBoxACG3.SelectedItem as accessControlGroup).accessControlGroupConfigurationNo));
if (comboBoxACG4.Text.Equals(""))
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_4", "NULL"));
else
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_4", (comboBoxACG4.SelectedItem as accessControlGroup).accessControlGroupConfigurationNo));
if (comboBoxACG5.Text.Equals(""))
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_5", "NULL"));
else
p.Add(new KeyValuePair("accessControlGroupConfigurationNoList_5", (comboBoxACG5.SelectedItem as accessControlGroup).accessControlGroupConfigurationNo));
return p;
}
private async Task Save()
{
try
{
InputCheck(true);
List p = GetParameters();
await fileDb.UpSertTable(FileDb.TableName.TBL_SERVER, p);
}
catch (Exception)
{
throw;
}
}
private async void buttonDbDelete_Click(object sender, EventArgs e)
{
try
{
await Delete();
MessageBox.Show("deleted");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private async Task Delete()
{
try
{
if (CheckedServer.serverInstanceNo == null)
throw new Exception("check server name first");
var p = new List();
p.Add(new KeyValuePair("serverName", textBoxServerName.Text));
await fileDb.DeleteTable(FileDb.TableName.TBL_SERVER, p);
}
catch (Exception)
{
throw;
}
}
}
}