/// <summary> /// Is called when navigation focus enters current view. /// </summary> /// <param name="navigationContext">Navigation context.</param> public void OnNavigatedTo(NavigationContext navigationContext) { IsConnected = false; _LoadingDataInvalid = false; // Get data from context var id = navigationContext.Parameters["id"]; if (!string.IsNullOrEmpty(id)) { _id = id; } else { _LoadingDataInvalid = true; _id = string.Empty; } _deviceAddresses.Clear(); var address = navigationContext.Parameters["addresses"]; if (!string.IsNullOrEmpty(address)) { _deviceAddresses = new List <string>(address.Split(',')); } else { _LoadingDataInvalid = true; } var package = navigationContext.Parameters["package"]; if (!string.IsNullOrEmpty(package)) { int status = SerializationString.ImportFromXMLString <PackageType>(package, out _packageInformation); if (status == (int)StatusCodes.OK || _packageInformation != null) { ExtractPackageFiles(_packageInformation.Name, _packageInformation.FullPath); } else { _LoadingDataInvalid = true; _packageInformation = null; } } else { _LoadingDataInvalid = true; _packageInformation = null; } }
/// <summary> /// Opens the dedicated view of the loader /// </summary> public int OpenLoader(PackageType package, List <string> addresses, int protocol, string id) { string packageString = string.Empty; int status = SerializationString.ExportToXMLString <PackageType>(package, out packageString); if (status == (int)StatusCodes.OK) { var uriQuery = new UriQuery(); uriQuery.Add("id", id); uriQuery.Add("protocol", protocol.ToString()); uriQuery.Add("package", packageString); uriQuery.Add("addresses", string.Join(",", addresses.ToArray())); var uri = new Uri("MSUView" + uriQuery.ToString(), UriKind.Relative); IRegion region = _RegionManager.Regions[RegionNames.ContentRegion]; region.RequestNavigate(uri); } return(status); }