This commit is contained in:
Seth Reid 2016-09-21 14:52:16 +12:00
Родитель 91766d6e62
Коммит 8a86b7f0cf
25 изменённых файлов: 144 добавлений и 122 удалений

Просмотреть файл

@ -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;