Initial merge tidied up
This commit is contained in:
Родитель
91766d6e62
Коммит
8a86b7f0cf
|
@ -161,6 +161,7 @@
|
|||
<Compile Include="Configurations\ConfigurationProvider.cs" />
|
||||
<Compile Include="Configurations\EnvironmentDescription.cs" />
|
||||
<Compile Include="Configurations\IConfigurationProvider.cs" />
|
||||
<Compile Include="Constants\ApiRegistrationProviderTypes.cs" />
|
||||
<Compile Include="Helpers\DeviceCreatorHelper.cs" />
|
||||
<Compile Include="Helpers\DocumentDBClient.cs" />
|
||||
<Compile Include="Exceptions\DeviceRequiredPropertyNotFoundException.cs" />
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Constants
|
||||
{
|
||||
public static class ApiRegistrationProviderTypes
|
||||
{
|
||||
public const string Jasper = "Jasper";
|
||||
public const string Ericsson = "Ericsson";
|
||||
}
|
||||
}
|
|
@ -1,4 +1,6 @@
|
|||
namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Constants;
|
||||
|
||||
namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models
|
||||
{
|
||||
public class ApiRegistrationModel
|
||||
{
|
||||
|
@ -6,6 +8,6 @@
|
|||
public string LicenceKey { get; set; }
|
||||
public string Username { get; set; }
|
||||
public string Password { get; set; }
|
||||
public DeviceManagement.Infrustructure.Connectivity.Models.Enums.ApiRegistrationProviderType? ApiRegistrationProvider { get; set; }
|
||||
public string ApiRegistrationProvider { get; set; }
|
||||
}
|
||||
}
|
|
@ -38,7 +38,7 @@
|
|||
<Compile Include="Constants\JasperApiConstants.cs" />
|
||||
<Compile Include="Exceptions\CellularConnectivityException.cs" />
|
||||
<Compile Include="Argument.cs" />
|
||||
<Compile Include="Models\Enums\CellularProviderEnum.cs" />
|
||||
<Compile Include="Models\Constants\ApiRegistrationProviderTypes.cs" />
|
||||
<Compile Include="Models\Security\EricssonSecurity.cs" />
|
||||
<Compile Include="Models\TerminalDevice\EricssonTerminal.cs" />
|
||||
<Compile Include="Models\TerminalDevice\Msisdn.cs" />
|
||||
|
@ -50,16 +50,16 @@
|
|||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Clients\EricssonCellularClient.cs" />
|
||||
<Compile Include="ExternalCellularService.cs" />
|
||||
<Compile Include="Services\ExternalCellularService.cs" />
|
||||
<Compile Include="Service References\EricssonSubscriptionService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Services\IExternalCellularService.cs" />
|
||||
<Compile Include="Utilities.cs" />
|
||||
<Compile Include="Models\Security\ICredentialProvider.cs" />
|
||||
<Compile Include="Models\Security\ICredentials.cs" />
|
||||
<Compile Include="IExternalCellularService.cs" />
|
||||
<Compile Include="Models\Billing\DataUsage.cs" />
|
||||
<Compile Include="Models\Billing\DataUsageDetail.cs" />
|
||||
<Compile Include="Models\TerminalDevice\Iccid.cs" />
|
||||
|
@ -98,11 +98,18 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="Content\bootstrap-theme.css.map" />
|
||||
<None Include="Content\bootstrap.css.map" />
|
||||
<None Include="fonts\glyphicons-halflings-regular.eot" />
|
||||
<None Include="fonts\glyphicons-halflings-regular.ttf" />
|
||||
<None Include="fonts\glyphicons-halflings-regular.woff" />
|
||||
<None Include="fonts\glyphicons-halflings-regular.woff2" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Scripts\jquery-1.9.1.min.map" />
|
||||
<None Include="Service References\EricssonApiService\ApiStatusService.wsdl" />
|
||||
<None Include="Service References\EricssonApiService\DeviceManagement.Infrustructure.Connectivity.EricssonApiService.echoResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
|
@ -401,6 +408,18 @@
|
|||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Content\bootstrap-theme.css" />
|
||||
<Content Include="Content\bootstrap-theme.min.css" />
|
||||
<Content Include="Content\bootstrap.css" />
|
||||
<Content Include="Content\bootstrap.min.css" />
|
||||
<Content Include="fonts\glyphicons-halflings-regular.svg" />
|
||||
<Content Include="Scripts\bootstrap.js" />
|
||||
<Content Include="Scripts\bootstrap.min.js" />
|
||||
<Content Include="Scripts\jquery-1.9.1.intellisense.js" />
|
||||
<Content Include="Scripts\jquery-1.9.1.js" />
|
||||
<Content Include="Scripts\jquery-1.9.1.min.js" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.TerminalDevice;
|
||||
|
||||
namespace DeviceManagement.Infrustructure.Connectivity
|
||||
{
|
||||
/// <summary>
|
||||
/// Temp interface structure for implementing resources that are required from the IoT Suite
|
||||
/// </summary>
|
||||
public interface IExternalCellularService
|
||||
{
|
||||
List<Iccid> GetTerminals();
|
||||
bool ValidateCredentials();
|
||||
Terminal GetSingleTerminalDetails(Iccid iccid);
|
||||
List<SessionInfo> GetSingleSessionInfo(Iccid iccid);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace DeviceManagement.Infrustructure.Connectivity.Models.Constants
|
||||
{
|
||||
public static class ApiRegistrationProviderTypes
|
||||
{
|
||||
public const string Jasper = "Jasper";
|
||||
public const string Ericsson = "Ericsson";
|
||||
}
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace DeviceManagement.Infrustructure.Connectivity.Models.Enums
|
||||
{
|
||||
public enum ApiRegistrationProviderType
|
||||
{
|
||||
Jasper=1,
|
||||
Ericsson=2
|
||||
}
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
using DeviceManagement.Infrustructure.Connectivity.Models.Enums;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.Security;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.Security;
|
||||
|
||||
namespace DeviceManagement.Infrustructure.Connectivity.Models.Other
|
||||
{
|
||||
|
@ -10,9 +9,6 @@ namespace DeviceManagement.Infrustructure.Connectivity.Models.Other
|
|||
public string Username { get; set; }
|
||||
public string Password { get; set; }
|
||||
public string BaseUrl { get; set; }
|
||||
public ApiRegistrationProviderType? ApiRegistrationProvider
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
public string ApiRegistrationProvider { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,6 +1,4 @@
|
|||
using DeviceManagement.Infrustructure.Connectivity.Models.Enums;
|
||||
|
||||
namespace DeviceManagement.Infrustructure.Connectivity.Models.Security
|
||||
namespace DeviceManagement.Infrustructure.Connectivity.Models.Security
|
||||
{
|
||||
public interface ICredentials
|
||||
{
|
||||
|
@ -8,6 +6,6 @@ namespace DeviceManagement.Infrustructure.Connectivity.Models.Security
|
|||
string Username { get; set; }
|
||||
string Password { get; set; }
|
||||
string BaseUrl { get; set; }
|
||||
ApiRegistrationProviderType? ApiRegistrationProvider { get; set; }
|
||||
string ApiRegistrationProvider { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,11 +1,11 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Clients;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.Enums;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.Constants;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.Security;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.TerminalDevice;
|
||||
|
||||
namespace DeviceManagement.Infrustructure.Connectivity
|
||||
namespace DeviceManagement.Infrustructure.Connectivity.Services
|
||||
{
|
||||
public class ExternalCellularService : IExternalCellularService
|
||||
{
|
||||
|
@ -21,12 +21,13 @@ namespace DeviceManagement.Infrustructure.Connectivity
|
|||
List<Iccid> terminals;
|
||||
var registrationProvider = _credentialProvider.Provide().ApiRegistrationProvider;
|
||||
|
||||
|
||||
switch (registrationProvider)
|
||||
{
|
||||
case ApiRegistrationProviderType.Jasper:
|
||||
case ApiRegistrationProviderTypes.Jasper:
|
||||
terminals = new JasperCellularClient(_credentialProvider).GetTerminals();
|
||||
break;
|
||||
case ApiRegistrationProviderType.Ericsson:
|
||||
case ApiRegistrationProviderTypes.Ericsson:
|
||||
terminals = new EricssonCellularClient(_credentialProvider).GetTerminals();
|
||||
break;
|
||||
default:
|
||||
|
@ -43,10 +44,10 @@ namespace DeviceManagement.Infrustructure.Connectivity
|
|||
|
||||
switch (registrationProvider)
|
||||
{
|
||||
case ApiRegistrationProviderType.Jasper:
|
||||
case ApiRegistrationProviderTypes.Jasper:
|
||||
terminal = new JasperCellularClient(_credentialProvider).GetSingleTerminalDetails(iccid);
|
||||
break;
|
||||
case ApiRegistrationProviderType.Ericsson:
|
||||
case ApiRegistrationProviderTypes.Ericsson:
|
||||
terminal = new EricssonCellularClient(_credentialProvider).GetSingleTerminalDetails(iccid);
|
||||
break;
|
||||
default:
|
||||
|
@ -63,10 +64,10 @@ namespace DeviceManagement.Infrustructure.Connectivity
|
|||
|
||||
switch (registrationProvider)
|
||||
{
|
||||
case ApiRegistrationProviderType.Jasper:
|
||||
case ApiRegistrationProviderTypes.Jasper:
|
||||
sessionInfo = new JasperCellularClient(_credentialProvider).GetSingleSessionInfo(iccid);
|
||||
break;
|
||||
case ApiRegistrationProviderType.Ericsson:
|
||||
case ApiRegistrationProviderTypes.Ericsson:
|
||||
sessionInfo = new EricssonCellularClient(_credentialProvider).GetSingleSessionInfo(iccid);
|
||||
break;
|
||||
default:
|
||||
|
@ -88,10 +89,10 @@ namespace DeviceManagement.Infrustructure.Connectivity
|
|||
|
||||
switch (registrationProvider)
|
||||
{
|
||||
case ApiRegistrationProviderType.Jasper:
|
||||
case ApiRegistrationProviderTypes.Jasper:
|
||||
isValid = new JasperCellularClient(_credentialProvider).ValidateCredentials();
|
||||
break;
|
||||
case ApiRegistrationProviderType.Ericsson:
|
||||
case ApiRegistrationProviderTypes.Ericsson:
|
||||
isValid = new EricssonCellularClient(_credentialProvider).ValidateCredentials();
|
||||
break;
|
||||
default:
|
|
@ -1,6 +1,5 @@
|
|||
using System.Collections.Generic;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.TerminalDevice;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.Enums;
|
||||
|
||||
namespace DeviceManagement.Infrustructure.Connectivity.Services
|
||||
{
|
||||
|
@ -9,9 +8,9 @@ namespace DeviceManagement.Infrustructure.Connectivity.Services
|
|||
/// </summary>
|
||||
public interface IExternalCellularService
|
||||
{
|
||||
List<Iccid> GetTerminals(ApiRegistrationProviderType registrationProvider);
|
||||
List<Iccid> GetTerminals();
|
||||
bool ValidateCredentials();
|
||||
Terminal GetSingleTerminalDetails(Iccid iccid, ApiRegistrationProviderType cellularProvider);
|
||||
List<SessionInfo> GetSingleSessionInfo(Iccid iccid, ApiRegistrationProviderType cellularProvider);
|
||||
Terminal GetSingleTerminalDetails(Iccid iccid);
|
||||
List<SessionInfo> GetSingleSessionInfo(Iccid iccid);
|
||||
}
|
||||
}
|
|
@ -6,7 +6,7 @@ using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models;
|
|||
using Microsoft.WindowsAzure.Storage;
|
||||
using Microsoft.WindowsAzure.Storage.Table;
|
||||
using System;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.Enums;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Constants;
|
||||
|
||||
namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Infrastructure.Repository
|
||||
{
|
||||
|
@ -56,17 +56,13 @@ namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Infr
|
|||
|
||||
if (apiRegistrationTableEntity == null) return new ApiRegistrationModel();
|
||||
|
||||
var apiRegistrationProvider = apiRegistrationTableEntity.ApiRegistrationProviderType != null ?
|
||||
(ApiRegistrationProviderType)Enum.Parse(typeof(ApiRegistrationProviderType), apiRegistrationTableEntity.ApiRegistrationProviderType) :
|
||||
(ApiRegistrationProviderType?)null;
|
||||
|
||||
return new ApiRegistrationModel()
|
||||
{
|
||||
Username = apiRegistrationTableEntity.Username,
|
||||
BaseUrl = apiRegistrationTableEntity.BaseUrl,
|
||||
LicenceKey = apiRegistrationTableEntity.LicenceKey,
|
||||
Password = apiRegistrationTableEntity.Password,
|
||||
ApiRegistrationProvider = apiRegistrationProvider
|
||||
ApiRegistrationProvider = apiRegistrationTableEntity.ApiRegistrationProviderType
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -10,8 +10,8 @@ using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Help
|
|||
using Owin;
|
||||
using System.Reflection;
|
||||
using System.Web.Mvc;
|
||||
using DeviceManagement.Infrustructure.Connectivity;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Clients;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Services;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Helpers;
|
||||
|
||||
namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web
|
||||
{
|
||||
|
@ -82,7 +82,7 @@ namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web
|
|||
builder.RegisterType<UserSettingsRepository>().As<IUserSettingsRepository>();
|
||||
builder.RegisterType<ApiRegistrationRepository>().As<IApiRegistrationRepository>();
|
||||
builder.RegisterType<JasperCredentialsProvider>().As<ICredentialProvider>();
|
||||
builder.RegisterType<JasperCellularService>().As<IExternalCellularService>();
|
||||
builder.RegisterType<ExternalCellularService>().As<IExternalCellularService>();
|
||||
builder.RegisterType<CellularExtensions>().As<ICellularExtensions>();
|
||||
builder.RegisterType<AzureTableStorageClientFactory>().As<IAzureTableStorageClientFactory>();
|
||||
builder.RegisterType<BlobStorageClientFactory>().As<IBlobStorageClientFactory>();
|
||||
|
|
|
@ -12,7 +12,6 @@ using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Infrastr
|
|||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Security;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Extensions;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Extensions;
|
||||
|
||||
namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Controllers
|
||||
{
|
||||
|
@ -24,8 +23,6 @@ namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.
|
|||
private readonly IApiRegistrationRepository _apiRegistrationRepository;
|
||||
private readonly ICellularExtensions _cellularExtensions;
|
||||
private readonly IDeviceLogic _deviceLogic;
|
||||
private const string CellularInvalidCreds = "400200";
|
||||
private const string CellularInvalidLicense = "400100";
|
||||
|
||||
public AdvancedController(IDeviceLogic deviceLogic,
|
||||
IApiRegistrationRepository apiRegistrationRepository,
|
||||
|
@ -185,7 +182,7 @@ namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.
|
|||
try
|
||||
{
|
||||
var devices = await GetDevices();
|
||||
var connectedDevices = _cellularService.GetListOfConnectedDeviceIds(devices);
|
||||
var connectedDevices = _cellularExtensions.GetListOfConnectedDeviceIds(devices);
|
||||
foreach (dynamic deviceId in connectedDevices)
|
||||
{
|
||||
await UpdateDeviceAssociation(deviceId, null);
|
||||
|
@ -200,7 +197,7 @@ namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.
|
|||
|
||||
private bool CheckCredentials()
|
||||
{
|
||||
var credentialsAreValid = _cellularService.ValidateCredentials();
|
||||
var credentialsAreValid = _cellularExtensions.ValidateCredentials();
|
||||
if (!credentialsAreValid)
|
||||
{
|
||||
_apiRegistrationRepository.DeleteApiDetails();
|
||||
|
|
|
@ -12,7 +12,6 @@ using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Configuration
|
|||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Exceptions;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Helpers;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.DeviceSchema;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Infrastructure.BusinessLogic;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Infrastructure.Exceptions;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Infrastructure.Models;
|
||||
|
@ -20,7 +19,6 @@ using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Infrastr
|
|||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Security;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.Enums;
|
||||
|
||||
namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Controllers
|
||||
{
|
||||
|
@ -285,11 +283,11 @@ namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.
|
|||
public ActionResult GetDeviceCellularDetails(string iccid)
|
||||
{
|
||||
var viewModel = new SimInformationViewModel();
|
||||
viewModel.TerminalDevice = _cellularService.GetSingleTerminalDetails(new Iccid(iccid));
|
||||
viewModel.SessionInfo = _cellularService.GetSingleSessionInfo(new Iccid(iccid)).LastOrDefault() ?? new SessionInfo();
|
||||
viewModel.TerminalDevice = _cellularExtensions.GetSingleTerminalDetails(new Iccid(iccid));
|
||||
viewModel.SessionInfo = _cellularExtensions.GetSingleSessionInfo(new Iccid(iccid)).LastOrDefault() ?? new SessionInfo();
|
||||
|
||||
var apiProviderDetails = _apiRegistrationRepository.RecieveDetails();
|
||||
viewModel.ApiRegistrationProvider = apiProviderDetails.ApiRegistrationProvider;
|
||||
viewModel.ApiRegistrationProvider = Convert.ToString(apiProviderDetails.ApiRegistrationProvider);
|
||||
|
||||
return PartialView("_CellularInformation", viewModel);
|
||||
}
|
||||
|
|
|
@ -4,17 +4,43 @@ using System.Linq;
|
|||
using DeviceManagement.Infrustructure.Connectivity;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.TerminalDevice;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.Enums;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Services;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models;
|
||||
|
||||
namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
|
||||
{
|
||||
public static class CellularExtensions
|
||||
public class CellularExtensions : ICellularExtensions
|
||||
{
|
||||
public static IEnumerable<string> GetListOfAvailableIccids(this IExternalCellularService cellularService, List<dynamic> devices)
|
||||
private readonly IExternalCellularService _cellularService;
|
||||
|
||||
public CellularExtensions(IExternalCellularService cellularService)
|
||||
{
|
||||
var fullIccidList = this.cellularService.GetTerminals().Select(i => i.Id);
|
||||
if (cellularService == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(cellularService));
|
||||
}
|
||||
|
||||
this._cellularService = cellularService;
|
||||
}
|
||||
|
||||
public List<Iccid> GetTerminals()
|
||||
{
|
||||
return this._cellularService.GetTerminals();
|
||||
}
|
||||
|
||||
public Terminal GetSingleTerminalDetails(Iccid iccid)
|
||||
{
|
||||
return this._cellularService.GetSingleTerminalDetails(iccid);
|
||||
}
|
||||
|
||||
public List<SessionInfo> GetSingleSessionInfo(Iccid iccid)
|
||||
{
|
||||
return this._cellularService.GetSingleSessionInfo(iccid);
|
||||
}
|
||||
|
||||
public IEnumerable<string> GetListOfAvailableIccids(IList<DeviceModel> devices)
|
||||
{
|
||||
var fullIccidList = this._cellularService.GetTerminals().Select(i => i.Id);
|
||||
var usedIccidList = this.GetUsedIccidList(devices).Select(i => i.Id);
|
||||
return fullIccidList.Except(usedIccidList);
|
||||
}
|
||||
|
@ -28,7 +54,21 @@ namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.
|
|||
).Cast<string>().ToList();
|
||||
}
|
||||
|
||||
private static IEnumerable<Iccid> GetUsedIccidList(List<dynamic> devices)
|
||||
public IEnumerable<string> GetListOfConnectedDeviceIds(IList<DeviceModel> devices)
|
||||
{
|
||||
return (from device in devices
|
||||
where (device.DeviceProperties != null && device.DeviceProperties.DeviceID != null) &&
|
||||
(device.SystemProperties == null || device.SystemProperties.ICCID != null)
|
||||
select device.DeviceProperties.DeviceID
|
||||
).ToList();
|
||||
}
|
||||
|
||||
public bool ValidateCredentials()
|
||||
{
|
||||
return _cellularService.ValidateCredentials();
|
||||
}
|
||||
|
||||
private IEnumerable<Iccid> GetUsedIccidList(IList<DeviceModel> devices)
|
||||
{
|
||||
return (from device in devices
|
||||
where (device.DeviceProperties != null && device.DeviceProperties.DeviceID != null) &&
|
||||
|
|
|
@ -8,8 +8,10 @@ namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.
|
|||
{
|
||||
List<Iccid> GetTerminals();
|
||||
Terminal GetSingleTerminalDetails(Iccid iccid);
|
||||
bool ValidateCredentials();
|
||||
List<SessionInfo> GetSingleSessionInfo(Iccid iccid);
|
||||
IEnumerable<string> GetListOfAvailableIccids(IList<DeviceModel> devices);
|
||||
IEnumerable<string> GetListOfAvailableDeviceIDs(IList<DeviceModel> devices);
|
||||
IEnumerable<string> GetListOfConnectedDeviceIds(IList<DeviceModel> devices);
|
||||
}
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
using DeviceManagement.Infrustructure.Connectivity.Models.Enums;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.TerminalDevice;
|
||||
using DeviceManagement.Infrustructure.Connectivity.Models.TerminalDevice;
|
||||
|
||||
namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models
|
||||
{
|
||||
|
@ -7,6 +6,6 @@ namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.
|
|||
{
|
||||
public Terminal TerminalDevice { get; set; }
|
||||
public SessionInfo SessionInfo { get; set; }
|
||||
public ApiRegistrationProviderType? ApiRegistrationProvider { get; set;}
|
||||
public string ApiRegistrationProvider { get; set;}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
@using GlobalResources
|
||||
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Constants
|
||||
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
|
||||
@using DeviceManagement.Infrustructure.Connectivity.Models.Enums
|
||||
@model Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models.ApiRegistrationModel
|
||||
|
||||
<div class="advanced_left_column">
|
||||
|
@ -85,12 +85,12 @@
|
|||
<div class="api_registration_help_link">
|
||||
@switch (Model.ApiRegistrationProvider)
|
||||
{
|
||||
case ApiRegistrationProviderType.Jasper:
|
||||
case ApiRegistrationProviderTypes.Jasper:
|
||||
{
|
||||
<a href="@Strings.JasperHelpLink" target="_blank">Need Help?</a>
|
||||
break;
|
||||
}
|
||||
case ApiRegistrationProviderType.Ericsson:
|
||||
case ApiRegistrationProviderTypes.Ericsson:
|
||||
{
|
||||
<a href="@Strings.EricssonHelpLink" target="_blank">Need Help?</a>
|
||||
break;
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
var config = {
|
||||
subheadContent: '',
|
||||
goBackUrl: '',
|
||||
selectedProvider: '@Html.JavaScriptString(Model.ApiRegistrationProvider.ToString())'
|
||||
selectedProvider: '@Html.JavaScriptString(Model.ApiRegistrationProvider)'
|
||||
};
|
||||
|
||||
IoTApp.Advanced.initSubView(config);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@using GlobalResources
|
||||
@using DeviceManagement.Infrustructure.Connectivity.Models.Enums
|
||||
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Constants
|
||||
@model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.SimInformationViewModel
|
||||
|
||||
<header class="header_grid">
|
||||
|
@ -8,12 +8,12 @@
|
|||
|
||||
@switch (Model.ApiRegistrationProvider)
|
||||
{
|
||||
case ApiRegistrationProviderType.Jasper:
|
||||
case ApiRegistrationProviderTypes.Jasper:
|
||||
{
|
||||
@Html.Partial("_CellularInformationJasper", Model)
|
||||
break;
|
||||
}
|
||||
case ApiRegistrationProviderType.Ericsson:
|
||||
case ApiRegistrationProviderTypes.Ericsson:
|
||||
{
|
||||
@Html.Partial("_CellularInformationEricsson", Model)
|
||||
break;
|
||||
|
|
|
@ -112,11 +112,6 @@
|
|||
<HintPath>..\..\packages\DotNetty.Transport-signed.0.3.1\lib\net45\DotNetty.Transport.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Infrastructure.Connectivity, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\packages\Microsoft.RemoteMonitoring.Infrastructure.Connectivity.1.0.0\lib\Infrastructure.Connectivity.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Azure.Amqp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\packages\Microsoft.Azure.Amqp.1.1.5\lib\net451\Microsoft.Azure.Amqp.dll</HintPath>
|
||||
|
@ -295,7 +290,6 @@
|
|||
<Compile Include="DataTables\SortColumn.cs" />
|
||||
<Compile Include="Helpers\ICellularExtensions.cs" />
|
||||
<Compile Include="Extensions\DateTimeExtensions.cs" />
|
||||
<Compile Include="Extensions\EnumExtensions.cs" />
|
||||
<Compile Include="Helpers\CultureHelper.cs" />
|
||||
<Compile Include="Helpers\HtmlHelperExtensions.cs" />
|
||||
<Compile Include="Helpers\JasperCredentialsProvider.cs" />
|
||||
|
@ -732,6 +726,10 @@
|
|||
<Project>{5959c109-5369-4ff7-8b55-605a79fdf200}</Project>
|
||||
<Name>Common</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\CellularConnectivity\DeviceManagement.Infrastructure.Connectivity.csproj">
|
||||
<Project>{1d674cc1-a1ae-4450-b167-3ccfafcbbdcd}</Project>
|
||||
<Name>DeviceManagement.Infrastructure.Connectivity</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj">
|
||||
<Project>{54b5b211-b661-42e9-af2d-87712a37d608}</Project>
|
||||
<Name>Infrastructure</Name>
|
||||
|
|
|
@ -83,11 +83,6 @@
|
|||
<HintPath>..\packages\Microsoft.Azure.Devices.1.0.13\lib\net451\Microsoft.Azure.Devices.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Azure.Devices.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\Microsoft.Azure.Devices.Client.1.0.16\lib\net45\Microsoft.Azure.Devices.Client.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Azure.KeyVault.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll</HintPath>
|
||||
|
@ -110,10 +105,6 @@
|
|||
<HintPath>..\packages\EnterpriseLibrary.TransientFaultHandling.6.0.1304.0\lib\portable-net45+win+wp8\Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Azure.Devices.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\Microsoft.Azure.Devices.Client.1.0.13\lib\net45\Microsoft.Azure.Devices.Client.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.WindowsAzure.Storage, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\WindowsAzure.Storage.7.0.0\lib\net40\Microsoft.WindowsAzure.Storage.dll</HintPath>
|
||||
|
@ -190,11 +181,6 @@
|
|||
<HintPath>..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Infrastructure.Connectivity, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\Microsoft.RemoteMonitoring.Infrastructure.Connectivity.1.0.0\lib\Infrastructure.Connectivity.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Common\AzureRetryHelperTests.cs" />
|
||||
|
@ -263,14 +249,18 @@
|
|||
<Project>{5959c109-5369-4ff7-8b55-605a79fdf200}</Project>
|
||||
<Name>Common</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Simulator\Simulator.WebJob\Simulator.WebJob.csproj">
|
||||
<Project>{8F0FF371-2306-4210-9C22-0D0657B595DC}</Project>
|
||||
<Name>Simulator.WebJob</Name>
|
||||
<ProjectReference Include="..\DeviceAdministration\CellularConnectivity\DeviceManagement.Infrastructure.Connectivity.csproj">
|
||||
<Project>{1d674cc1-a1ae-4450-b167-3ccfafcbbdcd}</Project>
|
||||
<Name>DeviceManagement.Infrastructure.Connectivity</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DeviceAdministration\Infrastructure\Infrastructure.csproj">
|
||||
<Project>{54B5B211-B661-42E9-AF2D-87712A37D608}</Project>
|
||||
<Name>Infrastructure</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Simulator\Simulator.WebJob\Simulator.WebJob.csproj">
|
||||
<Project>{8F0FF371-2306-4210-9C22-0D0657B595DC}</Project>
|
||||
<Name>Simulator.WebJob</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DeviceAdministration\Web\Web.csproj">
|
||||
<Project>{2101f5d8-84ed-47bc-8254-6505819e17c6}</Project>
|
||||
<Name>Web</Name>
|
||||
|
|
|
@ -136,27 +136,27 @@ namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.UnitTests.Web
|
|||
var apiRegModel = _fixture.Create<ApiRegistrationModel>();
|
||||
_apiRegistrationRepositoryMock.Setup(mock => mock.AmendRegistration(apiRegModel)).Returns(true);
|
||||
_cellularExtensionMock.Setup(mock => mock.GetTerminals()).Returns(new List<Iccid>());
|
||||
var result = _advancedController.SaveRegistration(apiRegModel);
|
||||
var result = await _advancedController.SaveRegistration(apiRegModel);
|
||||
Assert.True(result);
|
||||
|
||||
var ex = new Exception("The remote name could not be resolved");
|
||||
_cellularExtensionMock.Setup(mock => mock.GetTerminals()).Throws(new CellularConnectivityException(ex));
|
||||
result = _advancedController.SaveRegistration(apiRegModel);
|
||||
result = await _advancedController.SaveRegistration(apiRegModel);
|
||||
Assert.False(result);
|
||||
|
||||
ex = new Exception("400200");
|
||||
_cellularExtensionMock.Setup(mock => mock.GetTerminals()).Throws(new CellularConnectivityException(ex));
|
||||
result = _advancedController.SaveRegistration(apiRegModel);
|
||||
result = await _advancedController.SaveRegistration(apiRegModel);
|
||||
Assert.False(result);
|
||||
|
||||
ex = new Exception("400100");
|
||||
_cellularExtensionMock.Setup(mock => mock.GetTerminals()).Throws(new CellularConnectivityException(ex));
|
||||
result = _advancedController.SaveRegistration(apiRegModel);
|
||||
result = await _advancedController.SaveRegistration(apiRegModel);
|
||||
Assert.False(result);
|
||||
|
||||
ex = new Exception("message");
|
||||
_cellularExtensionMock.Setup(mock => mock.GetTerminals()).Throws(new CellularConnectivityException(ex));
|
||||
result = _advancedController.SaveRegistration(apiRegModel);
|
||||
result = await _advancedController.SaveRegistration(apiRegModel);
|
||||
Assert.True(result);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
using DeviceManagement.Infrustructure.Connectivity.Models.Jasper;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Infrastructure.Repository;
|
||||
using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers;
|
||||
using Moq;
|
||||
|
|
Загрузка…
Ссылка в новой задаче