/// <summary>
        /// Get Device Location Information
        /// </summary>
        /// <returns>Local Device Infor Entity</returns>
        public LocalDeviceInfo GetDeviceLocalInfo()
        {
            LocalDeviceInfo deviceInfo = new LocalDeviceInfo();

            deviceInfo.ApplicationCurrentMemoryUsage = DeviceExtendedProperties.GetValue("ApplicationCurrentMemoryUsage").ToString();
            deviceInfo.ApplicationPeakMemoryUsage    = DeviceExtendedProperties.GetValue("ApplicationPeakMemoryUsage").ToString();
            deviceInfo.ApplicationWorkingSetLimit    = DeviceExtendedProperties.GetValue("ApplicationWorkingSetLimit").ToString();

            deviceInfo.DeviceFirmwareVersion = DeviceExtendedProperties.GetValue("DeviceFirmwareVersion").ToString();
            deviceInfo.DeviceHardwareVersion = DeviceExtendedProperties.GetValue("DeviceHardwareVersion").ToString();
            deviceInfo.DeviceManufacturer    = DeviceExtendedProperties.GetValue("DeviceManufacturer").ToString();

            deviceInfo.DeviceName        = DeviceExtendedProperties.GetValue("DeviceName").ToString();
            deviceInfo.DeviceTotalMemory = DeviceExtendedProperties.GetValue("DeviceTotalMemory").ToString();

            deviceInfo.DeviceUniqueId  = (byte[])DeviceExtendedProperties.GetValue("DeviceUniqueId");
            deviceInfo.DeviceOSVersion = GetDeviceOSVersion();
            return(deviceInfo);
        }
        void CacheVaultInfoAsync(HwVaultInfoFromHesDto dto)
        {
            if (_localDeviceInfoCache != null)
            {
                Task.Run(() =>
                {
                    var info = new LocalDeviceInfo
                    {
                        Mac        = dto.VaultMac,
                        SerialNo   = dto.VaultSerialNo,
                        OwnerName  = dto.OwnerName,
                        OwnerEmail = dto.OwnerEmail,
                    };

                    _localDeviceInfoCache.SaveLocalInfo(info);
                }).ConfigureAwait(false);
            }
            else
            {
                WriteLine("Failed to cache info: Local info cache not available");
            }
        }
Example #3
0
        public async Task <ServerDescriptor> RegisterDeviceAsync()
        {
            try {
                var device     = LocalDeviceInfo.GetDeviceInfo();
                var descriptor = new UserClientDescriptor()
                {
                    DeviceId               = device.DeviceId,
                    OperatingSystem        = device.OperatingSystem,
                    FriendlyName           = device.FriendlyName,
                    SystemFirmwareVersion  = device.SystemFirmwareVersion,
                    SystemHardwareVersion  = device.SystemFirmwareVersion,
                    SystemManufacturer     = device.SystemManufacturer,
                    SystemProductName      = device.SystemProductName,
                    SystemSku              = device.SystemSku,
                    ProcessorArchitecture  = device.ProcessorArchitecture,
                    PaasteelVersion        = CurrentApplication.Version.ToString(),
                    AutomaticUpdateEnabled = SettingManager.AutomaticallyUpdateCurrentApp,
                };
                ServerDescriptor = await _userService.RegisterDeviceAsync(descriptor);
            }
            catch {
                ServerDescriptor = null;
            }
            IsDeviceRegistered = ServerDescriptor != null ? true : false;

            // Raise events
            if (IsDeviceRegistered && DeviceRegistered != null)
            {
                DeviceRegistered(ServerDescriptor);
            }
            if (!IsDeviceRegistered && DeviceRegisterationFailed != null)
            {
                DeviceRegisterationFailed();
            }

            return(ServerDescriptor);
        }