public List <OfficeBranch> JsonToBranches(string json)
        {
            var updatedBranches = JsonConvert.DeserializeObject <List <UpdatedOfficeBranch> >(json);
            var branches        = new List <OfficeBranch>();

            foreach (var updatedBranch in updatedBranches)
            {
                if (updatedBranch.Name.ToLower() != "extendeddeferred")
                {
                    var branch = new OfficeBranch();
                    if (updatedBranch.Name.ToLower() == "current")
                    {
                        branch.Branch  = Branch.Current;
                        branch.Name    = updatedBranch.Name;
                        branch.NewName = updatedBranch.Name;
                        branch.Id      = updatedBranch.Name;
                    }
                    if (updatedBranch.Name.ToLower() == "deferred")
                    {
                        branch.Branch  = Branch.Business;
                        branch.Name    = updatedBranch.Name;
                        branch.NewName = updatedBranch.Name;
                        branch.Id      = "Business";
                    }
                    if (updatedBranch.Name.ToLower() == "firstreleasedeferred")
                    {
                        branch.Branch  = Branch.FirstReleaseBusiness;
                        branch.Name    = "First Release Deferred";
                        branch.NewName = updatedBranch.Name;
                        branch.Id      = "FirstReleaseBusiness";
                    }
                    if (updatedBranch.Name.ToLower() == "insidersslow")
                    {
                        branch.Branch  = Branch.FirstReleaseCurrent;
                        branch.Name    = "First Release Current";
                        branch.NewName = "FirstReleaseCurrent";
                        branch.Id      = "FirstReleaseCurrent";
                    }
                    branch.Updated = false;
                    foreach (var update in updatedBranch.Updates)
                    {
                        if (update.Latest == true)
                        {
                            branch.CurrentVersion = update.LegacyVersion;
                        }
                        var build = new Build();
                        build.NewBuild   = update.Build;
                        build.NewVersion = update.Version;
                        build.Version    = update.LegacyVersion;
                        if (branch.Versions == null)
                        {
                            branch.Versions = new List <Build>();
                        }
                        branch.Versions.Add(build);
                    }
                    branches.Add(branch);
                }
            }
            return(branches);
        }
Ejemplo n.º 2
0
        private List <String> getVersions(OfficeBranch currentChannel, List <String> versions, string currentVersion)
        {
            foreach (var version in currentChannel.Versions)
            {
                if (version.Version.ToString() != currentVersion)
                {
                    versions.Add(version.Version.ToString());
                }
            }

            return(versions);
        }
Ejemplo n.º 3
0
        private async Task GetBranchVersion(OfficeBranch branch, OfficeEdition officeEdition)
        {
            try
            {
                var modelBranch = GlobalObjects.ViewModel.Branches.FirstOrDefault(b =>
                                                                                  b.Branch.ToString().ToLower() == branch.Branch.ToString().ToLower());
                if (modelBranch == null)
                {
                    return;
                }

                UpdateTargetVersion.SetValue(TextBoxHelper.WatermarkProperty, modelBranch.CurrentVersion);
            }
            catch (Exception ex)
            {
                var strError = ex.Message;
                if (strError != null)
                {
                }
            }
        }
Ejemplo n.º 4
0
        private async Task GetBranchVersion(OfficeBranch branch, OfficeEdition officeEdition)
        {
            try
            {
                if (branch.Updated)
                {
                    return;
                }
                var ppDownload    = new ProPlusDownloader();
                var latestVersion = await ppDownload.GetLatestVersionAsync(branch.Branch.ToString(), officeEdition);

                var modelBranch = GlobalObjects.ViewModel.Branches.FirstOrDefault(b =>
                                                                                  b.Branch.ToString().ToLower() == branch.Branch.ToString().ToLower());
                if (modelBranch == null)
                {
                    return;
                }
                if (modelBranch.Versions.Any(v => v.Version == latestVersion))
                {
                    return;
                }
                modelBranch.Versions.Insert(0, new Build()
                {
                    Version = latestVersion
                });
                modelBranch.CurrentVersion = latestVersion;

                //ProductVersion.ItemsSource = modelBranch.Versions;
                //ProductVersion.SetValue(TextBoxHelper.WatermarkProperty, modelBranch.CurrentVersion);

                modelBranch.Updated = true;
            }
            catch (Exception)
            {
            }
        }
Ejemplo n.º 5
0
        private static List <officeVersion> GetVersions(OfficeBranch currentChannel, List <officeVersion> versions, string currentVersion)
        {
            foreach (var version in currentChannel.Versions)
            {
                if (version.Version.ToString() != currentVersion)
                {
                    var tempVersion = new officeVersion()
                    {
                        Number = version.Version.ToString()
                    };

                    versions.Add(tempVersion);
                }
            }

            var selectedVersion = new officeVersion()
            {
                Number = currentVersion
            };

            versions.Insert(0, selectedVersion);

            return(versions);
        }
Ejemplo n.º 6
0
        private void LoadChannelView()
        {
            var configXml = GlobalObjects.ViewModel.ConfigXmlParser.ConfigurationXml;

            if (ProductUpdateSource.Text.Length == 0)
            {
                if (!string.IsNullOrEmpty(configXml.Add.SourcePath))
                {
                    ProductUpdateSource.Text = configXml.Add.SourcePath;
                }
            }

            if (!string.IsNullOrEmpty(GlobalObjects.ViewModel.DownloadFolderPath))
            {
                ProductUpdateSource.Text = GlobalObjects.ViewModel.DownloadFolderPath;
            }

            var currentBranch        = GlobalObjects.ViewModel.Branches.FirstOrDefault(b => b.NewName.ToLower() == "Current".ToLower());
            var deferredBranch       = GlobalObjects.ViewModel.Branches.FirstOrDefault(b => b.NewName.ToLower() == "Deferred".ToLower());
            var firstReleaseDeferred = GlobalObjects.ViewModel.Branches.FirstOrDefault(b => b.NewName.ToLower() == "FirstReleaseDeferred".ToLower());
            var firstReleaseCurrent  = GlobalObjects.ViewModel.Branches.FirstOrDefault(b => b.NewName.ToLower() == "FirstReleaseCurrent".ToLower());

            if (currentBranch == null)
            {
                currentBranch = new OfficeBranch();
            }
            if (deferredBranch == null)
            {
                deferredBranch = new OfficeBranch();
            }
            if (firstReleaseDeferred == null)
            {
                firstReleaseDeferred = new OfficeBranch();
            }
            if (firstReleaseCurrent == null)
            {
                firstReleaseCurrent = new OfficeBranch();
            }

            items = new List <Channel>
            {
                new Channel()
                {
                    Name        = "Current",
                    ChannelName = "Current",
                    Version     = "Latest",
                    Builds      = currentBranch.Versions,
                    ForeGround  = "Gray",
                },
                new Channel()
                {
                    Name        = "Deferred",
                    ChannelName = "Deferred",
                    Version     = "Latest",
                    ForeGround  = "Gray",
                    Builds      = deferredBranch.Versions
                },
                new Channel()
                {
                    Name        = "First Release Deferred",
                    ChannelName = "FirstReleaseDeferred",
                    Version     = "Latest",
                    ForeGround  = "Gray",
                    Builds      = firstReleaseDeferred.Versions
                },
                new Channel()
                {
                    Name        = "First Release Current",
                    ChannelName = "FirstReleaseCurrent",
                    Version     = "Latest",
                    ForeGround  = "Gray",
                    Builds      = firstReleaseCurrent.Versions
                }
            };

            if (configXml.Add.Branch.HasValue)
            {
                var branchName = configXml.Add.Branch.Value.ToString();
                if (branchName.ToLower() == "Business".ToLower())
                {
                    branchName = "Deferred";
                }
                if (branchName.ToLower() == "FirstReleaseBusiness".ToLower())
                {
                    branchName = "FirstReleaseDeferred";
                }

                var selectedChannel = items.FirstOrDefault(c => c.ChannelName == branchName);
                if (selectedChannel != null)
                {
                    selectedChannel.Editable = true;
                    selectedChannel.Selected = true;
                }
            }

            if (configXml.Add.ODTChannel.HasValue)
            {
                var channelName = configXml.Add.ODTChannel.Value.ToString();
                if (channelName.ToLower() == "Deferred".ToLower())
                {
                    channelName = "Deferred";
                }
                if (channelName.ToLower() == "FirstReleaseDeferred".ToLower())
                {
                    channelName = "FirstReleaseDeferred";
                }

                var selectedChannel = items.FirstOrDefault(c => c.ChannelName == channelName);
                if (selectedChannel != null)
                {
                    selectedChannel.Editable = true;
                    selectedChannel.Selected = true;
                }
            }

            lvUsers.ItemsSource = items;

            if (configXml.Add.OfficeClientEdition == OfficeClientEdition.Office32Bit)
            {
                Download32Bit.IsChecked = true;
                Download64Bit.IsChecked = false;
                Download32Bit.IsEnabled = false;
                Download64Bit.IsEnabled = true;
            }
            else
            {
                Download64Bit.IsChecked = true;
                Download32Bit.IsChecked = false;
                Download32Bit.IsEnabled = true;
                Download64Bit.IsEnabled = false;
            }
        }
Ejemplo n.º 7
0
        public void Launch()
        {
            var currentBranch        = GlobalObjects.ViewModel.Branches.FirstOrDefault(b => b.NewName.ToLower() == "Current".ToLower());
            var deferredBranch       = GlobalObjects.ViewModel.Branches.FirstOrDefault(b => b.NewName.ToLower() == "Deferred".ToLower());
            var firstReleaseDeferred = GlobalObjects.ViewModel.Branches.FirstOrDefault(b => b.NewName.ToLower() == "FirstReleaseDeferred".ToLower());
            var firstReleaseCurrent  = GlobalObjects.ViewModel.Branches.FirstOrDefault(b => b.NewName.ToLower() == "FirstReleaseCurrent".ToLower());

            if (currentBranch == null)
            {
                currentBranch = new OfficeBranch();
            }
            if (deferredBranch == null)
            {
                deferredBranch = new OfficeBranch();
            }
            if (firstReleaseDeferred == null)
            {
                firstReleaseDeferred = new OfficeBranch();
            }
            if (firstReleaseCurrent == null)
            {
                firstReleaseCurrent = new OfficeBranch();
            }

            items = new List <Channel>
            {
                new Channel()
                {
                    Name        = "Current",
                    ChannelName = "Current",
                    Version     = "Latest",
                    Builds      = currentBranch.Versions,
                    ForeGround  = "Gray",
                },
                new Channel()
                {
                    Name        = "Deferred",
                    ChannelName = "Deferred",
                    Version     = "Latest",
                    ForeGround  = "Gray",
                    Builds      = deferredBranch.Versions
                },
                new Channel()
                {
                    Name        = "First Release Deferred",
                    ChannelName = "FirstReleaseDeferred",
                    Version     = "Latest",
                    ForeGround  = "Gray",
                    Builds      = firstReleaseDeferred.Versions
                },
                new Channel()
                {
                    Name        = "First Release Current",
                    ChannelName = "FirstReleaseCurrent",
                    Version     = "Latest",
                    ForeGround  = "Gray",
                    Builds      = firstReleaseCurrent.Versions
                }
            };

            Owner = System.Windows.Application.Current.MainWindow;
            ChannelSelection.Items.Add("Deferred");
            ChannelSelection.Items.Add("Current");
            ChannelSelection.Items.Add("FirstReleaseDeferred");
            ChannelSelection.Items.Add("FirstReleaseCurrent");

            // only for this window, because we allow minimizing
            if (WindowState == WindowState.Minimized)
            {
                WindowState = WindowState.Normal;
            }
            Show();
        }