示例#1
0
        /// <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;
            }
        }
示例#2
0
        /// <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);
        }