private async Task ReloadAdGroupItemInfo() { try { await fileDb.ReadTable(FileDb.TableName.TBL_CLUSTER); await fileDb.ReadTable(FileDb.TableName.TBL_CLUSTER_SERVER); await fileDb.ReadTable(FileDb.TableName.TBL_SERVER); List <string> instanceNoList = new List <string>(); foreach (var a in fileDb.TBL_SERVER.Data) { if (a.Value.serverInstanceNo != "NULL") { instanceNoList.Add(a.Value.serverInstanceNo); } } List <serverInstance> serverInstances = new List <serverInstance>(); try { serverInstances = await ServerOperation.GetServerInstanceList(instanceNoList); } catch (Exception ex) { if (ex.Message.Contains("server not found")) { } else { throw new Exception(ex.Message); } } AdGroupItems.Clear(); foreach (var cluster in fileDb.TBL_CLUSTER.Data) { var adGroupItem = new AdGroupItem(); adGroupItem.IsChecked = false; adGroupItem.GroupName = cluster.Key.clusterName; foreach (var cluster_server in fileDb.TBL_CLUSTER_SERVER.Data) { if (cluster_server.Key.clusterName.Equals(adGroupItem.GroupName, StringComparison.OrdinalIgnoreCase) && cluster_server.Value.serverRole.Equals("MASTER")) { try { adGroupItem.MasterServerName = cluster_server.Key.serverName; var serverInstance = serverInstances.Find(x => x.serverName == cluster_server.Key.serverName); adGroupItem.MasterServerPublicIp = serverInstance.publicIp; adGroupItem.MasterServerInstanceNo = fileDb.TBL_SERVER.Data[new TBL_SERVER_KEY { serverName = cluster_server.Key.serverName }].serverInstanceNo; } catch { } } if (cluster_server.Key.clusterName.Equals(adGroupItem.GroupName, StringComparison.OrdinalIgnoreCase) && cluster_server.Value.serverRole.Equals("SLAVE")) { try { adGroupItem.SlaveServerName = cluster_server.Key.serverName; var serverInstance = serverInstances.Find(x => x.serverName == cluster_server.Key.serverName); adGroupItem.SlaveServerPublicIp = serverInstance.publicIp; adGroupItem.SlaveServerInstanceNo = fileDb.TBL_SERVER.Data[new TBL_SERVER_KEY { serverName = cluster_server.Key.serverName }].serverInstanceNo; } catch { } } } AdGroupItems.Add(adGroupItem); } } catch { } }
public async Task ServerReloadAsync() { await RunCommandAsync(() => ServerReloadIsRunning, async() => { try { await fileDb.ReadTable(FileDb.TableName.TBL_SERVER); List <string> instanceNoList = new List <string>(); foreach (var a in fileDb.TBL_SERVER.Data) { if (a.Value.serverInstanceNo != "NULL") { instanceNoList.Add(a.Value.serverInstanceNo); } } List <serverInstance> serverInstances = new List <serverInstance>(); try { serverInstances = await ServerOperation.GetServerInstanceList(instanceNoList); } catch (Exception ex) { if (ex.Message.Contains("server not found")) { } else { throw new Exception(ex.Message); } } try { List <string> deleteServerNameList = new List <string>(); AdMasterServerComboBoxItems.Clear(); AdSlaveServerComboBoxItems.Clear(); foreach (var a in fileDb.TBL_SERVER.Data) { var serverInstance = serverInstances.Find(x => x.serverName == a.Key.serverName); if (serverInstance != null) { var item = new ServerInstanceItem { IsChecked = false, Name = a.Key.serverName, PublicIp = serverInstance.publicIp, PrivateIp = a.Value.serverPrivateIp, ZoneNo = a.Value.zoneNo + "(" + serverInstance.zone.zoneCode + ")", InstanceNo = a.Value.serverInstanceNo, Status = serverInstance.serverInstanceStatus.code, Operation = serverInstance.serverInstanceOperation.code }; AdMasterServerComboBoxItems.Add(item); AdSlaveServerComboBoxItems.Add(item); } else { deleteServerNameList.Add(a.Key.serverName); } } foreach (var a in deleteServerNameList) { var p = new List <KeyValuePair <string, string> >(); p.Add(new KeyValuePair <string, string>("serverName", a)); await fileDb.DeleteTable(FileDb.TableName.TBL_SERVER, p); } var tempitem = new ServerInstanceItem { IsChecked = false, Name = "", PublicIp = "", PrivateIp = "", ZoneNo = "", InstanceNo = "", Status = "", Operation = "" }; AdSlaveServerComboBoxItems.Add(tempitem); SelectedAdMasterServerComboBoxItem = AdMasterServerComboBoxItems.FirstOrDefault(); SelectedAdSlaveServerComboBoxItem = AdSlaveServerComboBoxItems.FirstOrDefault(); } catch { } } catch { } }); }