|
@@ -1,5 +1,6 @@
|
|
|
using FISLib.Connect;
|
|
|
using System.Linq;
|
|
|
+using Vinno.FIS.Sonopost.Common;
|
|
|
using Vinno.FIS.Sonopost.Features.Config;
|
|
|
using Vinno.FIS.Sonopost.WebApi.Models;
|
|
|
using Vinno.IUS.Common.Utilities;
|
|
@@ -17,9 +18,9 @@ namespace Vinno.FIS.Sonopost.WebApi.Controllers
|
|
|
[WebApiAction("Login")]
|
|
|
public Result Login(ServerLoginRequest2 request)
|
|
|
{
|
|
|
- if (!request.Ipv4.Equals(ConfigManager.VCloudServerAddress) || !request.Port.Equals(ConfigManager.VCloudServerPort))
|
|
|
+ if (!request.Ipv4.Equals(ConfigManager.VCloudServerAddress) || !request.Port.Equals(ConfigManager.VCloudServerPort) || !request.ServerName.Equals(ConfigManager.VCloudServerName))
|
|
|
{
|
|
|
- bool changed = TerminalClientManager.ChangeServer(request.Ipv4, request.Port);
|
|
|
+ bool changed = TerminalClientManager.ChangeServer(request.Ipv4, request.Port, request.ServerName);
|
|
|
if (!changed) Result.Fail();
|
|
|
}
|
|
|
var isLoginWithAccountAndPassword = SonopostUserDefinedSettings.Instance.ServerSetting.IsLoginWithAccountAndPassword;
|
|
@@ -116,6 +117,7 @@ namespace Vinno.FIS.Sonopost.WebApi.Controllers
|
|
|
IsLoginWithAccountAndPassword = isLoginWithAccountAndPassword,
|
|
|
IsExisted = isExisted,
|
|
|
DongleId = FISManager.UltrasoundMachineInfo.DongleId,
|
|
|
+ VCloudServerName = ConfigManager.VCloudServerName,
|
|
|
};
|
|
|
return Result.Success(result);
|
|
|
}
|
|
@@ -137,17 +139,17 @@ namespace Vinno.FIS.Sonopost.WebApi.Controllers
|
|
|
[WebApiAction]
|
|
|
public Result GetServerList()
|
|
|
{
|
|
|
- if (LoginManager.LoginStatus != DeviceStatus.Logon)
|
|
|
+ if (LoginManager.LoginStatus != DeviceStatus.Logon && !TerminalClientManager.HasGetFasterServer)
|
|
|
{
|
|
|
var fasterServer = TerminalClientManager.GetFasterServerInfo();
|
|
|
- if (fasterServer != null && SonopostUserDefinedSettings.Instance.ServerSetting.Servers.FirstOrDefault(x => x.IsDefault).ToString() != fasterServer.ToString())
|
|
|
+ if (fasterServer != null && SonopostUserDefinedSettings.Instance.ServerSetting.Servers.FirstOrDefault(x => x.IsDefault && x.DisplayName == SonopostConstants.FlyinsonoServerName).ToString() != fasterServer.ToString())
|
|
|
{
|
|
|
- var defaultServer = SonopostUserDefinedSettings.Instance.ServerSetting.Servers.FirstOrDefault(x => x.IsDefault);
|
|
|
- var oldDefaultServer = new FISServerInfo(defaultServer.Host, defaultServer.Port, true);
|
|
|
- var newDefaultServer = new FISServerInfo(fasterServer.Host, fasterServer.Port, true);
|
|
|
- ConfigManager.RefreshDefaultServer(oldDefaultServer, newDefaultServer);
|
|
|
- defaultServer.Host = fasterServer.Host;
|
|
|
- defaultServer.Port = fasterServer.Port;
|
|
|
+ var flyinsonoServer = SonopostUserDefinedSettings.Instance.ServerSetting.Servers.FirstOrDefault(x => x.IsDefault && x.DisplayName == SonopostConstants.FlyinsonoServerName);
|
|
|
+ var oldFlyinsonoServer = new ServerInfoSetting(flyinsonoServer.Host, flyinsonoServer.Port, true, SonopostConstants.FlyinsonoServerName);
|
|
|
+ var newFlyinsonoServer = new ServerInfoSetting(fasterServer.Host, fasterServer.Port, true, SonopostConstants.FlyinsonoServerName);
|
|
|
+ ConfigManager.RefreshFlyinsonoServer(oldFlyinsonoServer, newFlyinsonoServer);
|
|
|
+ flyinsonoServer.Host = fasterServer.Host;
|
|
|
+ flyinsonoServer.Port = fasterServer.Port;
|
|
|
ConfigManager.Save();
|
|
|
}
|
|
|
}
|
|
@@ -223,10 +225,29 @@ namespace Vinno.FIS.Sonopost.WebApi.Controllers
|
|
|
SonopostUserDefinedSettings.Instance.ServerSetting.IsLoginWithAccountAndPassword = false;
|
|
|
ConfigManager.Save();
|
|
|
}
|
|
|
+ string serverName = string.Empty;
|
|
|
+ var existItems = SonopostUserDefinedSettings.Instance.ServerSetting.Servers.Where(x => x.Host == serverNodeRequest.Ipv4 && x.Port == serverNodeRequest.Port);
|
|
|
+ if (existItems.Count() == 0)
|
|
|
+ {
|
|
|
+ serverName = $"{serverNodeRequest.Ipv4}:{serverNodeRequest.Port}";
|
|
|
+ }
|
|
|
+ if (existItems.Count() == 1)
|
|
|
+ {
|
|
|
+ serverName = existItems.FirstOrDefault().DisplayName;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ serverName = existItems.FirstOrDefault(x => x.DisplayName != SonopostConstants.FlyinsonoServerName)?.DisplayName;
|
|
|
+ }
|
|
|
+ if (string.IsNullOrEmpty(serverName))
|
|
|
+ {
|
|
|
+ serverName = $"{serverNodeRequest.Ipv4}:{serverNodeRequest.Port}";
|
|
|
+ }
|
|
|
return Login(new ServerLoginRequest2
|
|
|
{
|
|
|
Ipv4 = serverNodeRequest.Ipv4,
|
|
|
Port = serverNodeRequest.Port,
|
|
|
+ ServerName = serverName,
|
|
|
});
|
|
|
}
|
|
|
|