コード例 #1
0
        public override async Task <DialogResult> ShowModal()
        {
            foreach (var package in await session.SuggestPackagesToAdd())
            {
                if (Filter == null || Filter(package))
                {
                    Packages.Add(package);
                }
            }

            selectedPackages.Clear();

            await base.ShowModal();

            if (Result == Presentation.Services.DialogResult.Ok)
            {
                selectedPackages.AddRange(PackageListBox.SelectedItems.Cast <PickablePackageViewModel>());
            }
            return(Result);
        }
コード例 #2
0
        protected override void Parse()
        {
            GenLog.Debug($"Parsing for NuGet packages in {ProjectFile}");
            var xelement          = GetParsedXml(ProjectFile);
            var packageReferences = xelement.Descendants("PackageReference");

            foreach (var packageReference in packageReferences)
            {
                var id = packageReference.Attribute("Include")?.Value
                         ??
                         packageReference.Attribute("Update")?.Value;

                if (id == null)
                {
                    throw new Exception(
                              $"Invalid syntax in {ProjectFile}: PackageReference with no id");
                }

                var versionRaw = packageReference.Attribute("Version")?.Value;
                if (versionRaw == null)
                {
                    if (id.Equals("Microsoft.AspNetCore.App", StringComparison.OrdinalIgnoreCase))
                    {
                        // This one is special. See https://github.com/aspnet/Docs/issues/6430
                        continue;
                    }

                    throw new Exception(
                              $"A specific version has not been provided for {id} in {ProjectFile}");
                }

                var result = Statics.GetPackageDefinition(id, versionRaw);
                if (result == null)
                {
                    continue;
                }

                GenLog.Debug($"Found {result}");
                Packages.Add(result);
            }
        }
コード例 #3
0
        public override void Collect()
        {
            Packages.Clear();
            var files = Directory.GetFiles(_directory, "*.dll", SearchOption.AllDirectories);

            foreach (var file in files)
            {
                try {
                    var assemblyName   = AssemblyName.GetAssemblyName(file);
                    var packageVersion = PackageVersion.From(assemblyName, file);
                    if (packageVersion == null)
                    {
                        continue;
                    }
                    Packages.Add(packageVersion);
                }
                catch (BadImageFormatException bex) {
                    Console.WriteLine($"{file} couldn't be loaded as it has the wrong image format");
                }
            }
        }
コード例 #4
0
        public virtual void Deserialize(XElement element)
        {
            if (string.Compare(element.Name.ToString(), "devicefamily") == 0)
            {
                XAttribute nameAttr = element.Attribute("name");
                if (nameAttr != null)
                {
                    Name = nameAttr.Value;
                }
                nameAttr = element.Attribute("shortname");
                if (nameAttr != null)
                {
                    ShortName = nameAttr.Value;
                }

                XElement packages = element.Element("packages");
                foreach (XElement packageElement in packages.Elements())
                {
                    DevicePackage package = new DevicePackage(this);
                    package.Deserialize(packageElement);
                    Packages.Add(package);
                }

                XElement speeds = element.Element("speeds");
                foreach (XElement speedElement in speeds.Elements())
                {
                    DeviceSpeed speed = new DeviceSpeed(this);
                    speed.Deserialize(speedElement);
                    Speeds.Add(speed);
                }

                XElement devices = element.Element("devices");
                foreach (XElement deviceElement in devices.Elements())
                {
                    Device device = new Device(this);
                    device.Deserialize(deviceElement);
                    Devices.Add(device);
                }
            }
        }
コード例 #5
0
ファイル: CXController.cs プロジェクト: sycomix/Victor
 public CXController(CXOptions o) : base("Victor CLI", Ct)
 {
     if (_beeperThread == null)
     {
         EnableBeeper();
     }
     SayInfoLine("Victor CX loading...");
     StartBeeper();
     Options = o;
     if (Options.Debug)
     {
         DebugEnabled = true;
         SayInfoLine("Debug enabled.");
     }
     Packages.Add(new CXHome(this));
     HomePackage     = Packages[0];
     ActivePackage   = Packages[0];
     PreviousPackage = Packages[0];
     JuliusSession   = new JuliusSession();
     Initialized     = Packages[0].Initialized;
     StopBeeper();
 }
コード例 #6
0
        public SelectEffectsDialog(Utilities.IniFile packagesIni)
        {
            InitializeComponent();
            DataContext = this;

            var packages = new List <EffectPackage>();

            foreach (var packageName in packagesIni.GetSections())
            {
                packages.Add(new EffectPackage
                {
                    Enabled            = packagesIni.GetString(packageName, "Enabled") == "1",
                    PackageName        = packageName,
                    PackageDescription = packagesIni.GetString(packageName, "PackageDescription"),
                    DownloadUrl        = packagesIni.GetString(packageName, "DownloadUrl")
                });
            }

            // Show default enabled packages at the top
            packages.Sort((lhs, rhs) => (lhs.Enabled == rhs.Enabled ? 100 : 0) + rhs.PackageName.CompareTo(lhs.PackageName));
            packages.ForEach(x => Packages.Add(x));
        }
コード例 #7
0
        public PushCommand(IOctopusAsyncRepositoryFactory repositoryFactory, IOctopusFileSystem fileSystem, IOctopusClientFactory clientFactory, ICommandOutputProvider commandOutputProvider)
            : base(clientFactory, repositoryFactory, fileSystem, commandOutputProvider)
        {
            var options = Options.For("Package pushing");

            options.Add("package=", "Package file to push. Specify multiple packages by specifying this argument multiple times: \n--package package1 --package package2",
                        package => Packages.Add(EnsurePackageExists(fileSystem, package)));
            options.Add("overwrite-mode=", "If the package already exists in the repository, the default behavior is to reject the new package being pushed (FailIfExists). You can use the overwrite mode to OverwriteExisting or IgnoreIfExists.", mode => OverwriteMode = (OverwriteMode)Enum.Parse(typeof(OverwriteMode), mode, true));
            options.Add("replace-existing", "If the package already exists in the repository, the default behavior is to reject the new package being pushed. You can pass this flag to overwrite the existing package. This flag may be deprecated in a future version; passing it is the same as using the OverwriteExisting overwrite-mode.",
                        replace => OverwriteMode = OverwriteMode.OverwriteExisting);
            options.Add("use-delta-compression=", "Allows disabling of delta compression when uploading packages to the Octopus Server. (True or False. Defaults to true.)",
                        v =>
            {
                if (!bool.TryParse(v, out var desiredValue))
                {
                    throw new CommandException($"The value '{v}' is not valid. Valid values are true or false.");
                }
                UseDeltaCompression = desiredValue;
            });
            pushedPackages = new List <string>();
            failedPackages = new List <Tuple <string, Exception> >();
        }
コード例 #8
0
        public XamarinAndroidWearApplicationProject()
        {
            TargetFrameworkVersion = Versions.KitkatWatch;
            UseLatestPlatformSdk   = false;
            Packages.Add(KnownPackages.AndroidSupportV13Kitkat);
            Packages.Add(KnownPackages.AndroidWear);

            MainActivity    = default_main_activity;
            StringsXml      = default_strings_xml;
            LayoutMain      = default_layout_main;
            LayoutRectMain  = default_layout_rect_main;
            LayoutRoundMain = default_layout_round_main;

            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\RectangleMain.axml")
            {
                TextContent = () => LayoutRectMain
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\RoundMain.axml")
            {
                TextContent = () => LayoutRoundMain
            });
        }
コード例 #9
0
ファイル: PackageProvider.cs プロジェクト: lulzzz/DCAnalytics
        public Packages RetrievePackages()
        {
            Packages packages = new Packages();

            try
            {
                string query = $"select * from dsto_package where Deleted=0";
                var    table = DbInfo.ExecuteSelectQuery(query);
                if (table.Rows.Count > 0)
                {
                    foreach (DataRow row in table.Rows)
                    {
                        Package package = packages.Add();
                        InitPackage(package, row);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(packages);
        }
コード例 #10
0
        public void WriteRecords(IEnumerable <T> records)
        {
            // Nothing to do if enumerable is empty
            if (records.Count() == 0)
            {
                return;
            }


            // Ensure initialization has been completed before attempting to write
            LoadTask.Wait();

            try
            {
                Packages.Add(RecordEvaluator.GetUpdatePackage(records));
            }
            catch (Exception e)
            {
                RaiseError(e: e,
                           errorMessage: "Errore nell'importazione dei record " + e.Message + "\t\tInnerException : " + e.InnerException?.Message,
                           errorSeverity: SyncErrorEventArgs.ErrorSeverity.Major);
            }
        }
コード例 #11
0
        void Publish(IPackageRepository source, string packageFileName, Stream packageStream)
        {
            var name    = PackageNameUtility.GetName(packageFileName);
            var version = PackageNameUtility.GetVersion(packageFileName);

            if (Packages.Any(x => x.Name.EqualsNoCase(name) && x.SemanticVersion == version))
            {
                throw new InvalidOperationException("Package already exists in repository.");
            }

            var inMemoryFile = new InMemoryFile("c:\\" + Guid.NewGuid());

            using (var stream = inMemoryFile.OpenWrite())
                IO.StreamExtensions.CopyTo(packageStream, stream);

            var tempFolder = new ZipFilePackage(inMemoryFile);

            var package = new InMemoryPackage(tempFolder)
            {
                Source = this
            };

            Packages.Add(package);
        }
コード例 #12
0
 public override void LoadData(object data)
 {
     ClearData();
     foreach (var resView in ((ResourcesWorkspaceViewModel)data).Resources)
     {
         var resource = resView.Resource;
         foreach (var fragment in resource.Fragments)
         {
             try
             {
                 using var ds = fragment.GetDecompressDataStream(true);
                 if (PkgFile.IsPkgFile(ds))
                 {
                     Packages.Add(new ErpPackageViewModel(resView, fragment));
                 }
             }
             catch
             {
                 // TODO: log
             }
         }
     }
     DisplayName = "Pkg Files " + packages.Count;
 }
コード例 #13
0
        /// <summary>
        /// Loads the MetadataTypeInstallerContract using the specified MetadataType name.
        /// </summary>
        /// <param name="metadataTypeName">The MetadataType name.</param>
        public void Load(string metadataTypeName)
        {
            using (var context = new EnterpriseTestContext())
            {
                var metadataType = context.MetadataTypes.First(x => x.Name.Equals(metadataTypeName));
                Name = metadataType.Name;

                foreach (var package in metadataType.SoftwareInstallerPackages)
                {
                    var packageContract = new SoftwareInstallerPackageContract(package);

                    foreach (var setting in package.SoftwareInstallerSettings)
                    {
                        var settingContract = new SoftwareInstallerSettingContract(setting);
                        settingContract.Installer = new SoftwareInstallerContract(setting.SoftwareInstaller);
                        settingContract.Installer.ReadData();

                        packageContract.Settings.Add(settingContract);
                    }

                    Packages.Add(packageContract);
                }
            }
        }
コード例 #14
0
        /// <summary> Test packages and symbols </summary>
        public void TestPackagesAndSymbols()
        {
            Packages packages = new Packages();
            Package  p        = packages.global; // global package

            Symbol foo = p.Intern("foo");

            Check(foo.name, "foo");
            Check(foo.pkg, p);
            Check(foo.fullName, "foo");
            Check(p.Intern("foo") == foo);       // make sure interning returns the same instance
            Check(p.Unintern(foo.name));         // first one removes successfully
            Check(!p.Unintern(foo.name));        // but second time there is nothing to remove
            Check(p.Intern("foo") != foo);       // since we uninterned, second interning will return a different one

            Package p2   = new Package("fancy"); // some fancy package
            Symbol  foo2 = p2.Intern("foo");

            Check(foo2.name, "foo");
            Check(foo2.pkg, p2);
            Check(foo2.fullName, "fancy:foo");

            // test the packages list

            Check(packages.global.name, (string)null);                             // get the global package
            Check(Val.Print(packages.global.Intern("foo")), "foo");                // check symbol name
            Check(packages.keywords.name, "");                                     // get the keywords package
            Check(Val.Print(packages.keywords.Intern("foo")), ":foo");             // check symbol name

            Check(packages.Find("fancy"), null);                                   // make sure the fancy package was not added yet
            Check(packages.Add(p2), p2);                                           // add our fancy custom package
            Check(packages.Intern("fancy"), p2);                                   // get the fancy package - should be the same one
            Check(Val.Print(packages.Intern("fancy").Intern("foo")), "fancy:foo"); // check symbol name
            Check(packages.Remove(p2));                                            // check removal (should only return true the first time)
            Check(!packages.Remove(p2));                                           // check removal (should only return true the first time)
        }
コード例 #15
0
ファイル: StrategyManager.cs プロジェクト: malain/candle
        /// <summary>
        /// Renvoi le package associé au manifest en s'assurant qu'il soit à jour.
        /// </summary>
        /// <param name="packageName">Nom du package ou vide si strategyInterne</param>
        /// <returns></returns>
        public InternalPackage GetPackage(string packageName)
        {
            if (String.IsNullOrEmpty(packageName))
            {
                if (_internalPackage == null)
                {
                    _internalPackage = new InternalPackage();
                }
                return(_internalPackage);
            }

            StrategyPackage package = Packages.Find(delegate(StrategyPackage p) { return(Utils.StringCompareEquals(p.Name, packageName)); });

            if (package == null)
            {
                package = new StrategyPackage(packageName);
                Packages.Add(package);
            }
            if (package.Synchronize())
            {
                return(package);
            }
            return(null);
        }
コード例 #16
0
        public async Task LoadPackages()
        {
            try
            {
                if (!CanLoadRemotePackages() && Packages.Any())
                {
                    return;
                }

                _hasLoaded = false;

                var sort = SortSelection == Resources.RemoteSourceViewModel_SortSelectionPopularity ? "DownloadCount" : "Title";

                await _progressService.StartLoading(string.Format(Resources.RemoteSourceViewModel_LoadingPage, CurrentPage));

                _progressService.WriteMessage(Resources.RemoteSourceViewModel_FetchingPackages);

                try
                {
                    var result =
                        await
                        _chocolateyPackageService.Search(
                            SearchQuery,
                            new PackageSearchOptions(
                                PageSize,
                                CurrentPage - 1,
                                sort,
                                IncludePrerelease,
                                IncludeAllVersions,
                                MatchWord,
                                Source.Value));

                    var installed = await _chocolateyPackageService.GetInstalledPackages();

                    var outdated = await _chocolateyPackageService.GetOutdatedPackages();

                    PageCount = (int)(((double)result.TotalCount / (double)PageSize) + 0.5);
                    Packages.Clear();
                    result.Packages.ToList().ForEach(p =>
                    {
                        if (installed.Any(package => string.Equals(package.Id, p.Id, StringComparison.OrdinalIgnoreCase)))
                        {
                            p.IsInstalled = true;
                        }
                        if (outdated.Any(package => string.Equals(package.Item1, p.Id, StringComparison.OrdinalIgnoreCase)))
                        {
                            p.IsLatestVersion = false;
                        }

                        Packages.Add(Mapper.Map <IPackageViewModel>(p));
                    });

                    if (PageCount < CurrentPage)
                    {
                        CurrentPage = PageCount == 0 ? 1 : PageCount;
                    }
                }
                finally
                {
                    await _progressService.StopLoading();

                    _hasLoaded = true;
                }

                await _eventAggregator.PublishOnUIThreadAsync(new ResetScrollPositionMessage());
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "Failed to load new packages.");
                await _progressService.ShowMessageAsync(
                    Resources.RemoteSourceViewModel_FailedToLoad,
                    string.Format(Resources.RemoteSourceViewModel_FailedToLoadRemotePackages, ex.Message));

                throw;
            }
        }
コード例 #17
0
        public override void ReadData(ESPReader reader, long dataEnd)
        {
            while (reader.BaseStream.Position < dataEnd)
            {
                string subTag = reader.PeekTag();

                switch (subTag)
                {
                case "EDID":
                    if (EditorID == null)
                    {
                        EditorID = new SimpleSubrecord <String>();
                    }

                    EditorID.ReadBinary(reader);
                    break;

                case "OBND":
                    if (ObjectBounds == null)
                    {
                        ObjectBounds = new ObjectBounds();
                    }

                    ObjectBounds.ReadBinary(reader);
                    break;

                case "FULL":
                    if (Name == null)
                    {
                        Name = new SimpleSubrecord <String>();
                    }

                    Name.ReadBinary(reader);
                    break;

                case "MODL":
                    if (Model == null)
                    {
                        Model = new Model();
                    }

                    Model.ReadBinary(reader);
                    break;

                case "ACBS":
                    if (BaseStats == null)
                    {
                        BaseStats = new NPCBaseStats();
                    }

                    BaseStats.ReadBinary(reader);
                    break;

                case "SNAM":
                    if (Factions == null)
                    {
                        Factions = new List <FactionMembership>();
                    }

                    FactionMembership tempSNAM = new FactionMembership();
                    tempSNAM.ReadBinary(reader);
                    Factions.Add(tempSNAM);
                    break;

                case "INAM":
                    if (DeathItem == null)
                    {
                        DeathItem = new RecordReference();
                    }

                    DeathItem.ReadBinary(reader);
                    break;

                case "VTCK":
                    if (VoiceType == null)
                    {
                        VoiceType = new RecordReference();
                    }

                    VoiceType.ReadBinary(reader);
                    break;

                case "TPLT":
                    if (Template == null)
                    {
                        Template = new RecordReference();
                    }

                    Template.ReadBinary(reader);
                    break;

                case "RNAM":
                    if (Race == null)
                    {
                        Race = new RecordReference();
                    }

                    Race.ReadBinary(reader);
                    break;

                case "SPLO":
                    if (ActorEffects == null)
                    {
                        ActorEffects = new List <RecordReference>();
                    }

                    RecordReference tempSPLO = new RecordReference();
                    tempSPLO.ReadBinary(reader);
                    ActorEffects.Add(tempSPLO);
                    break;

                case "EITM":
                    if (UnarmedAttackEffect == null)
                    {
                        UnarmedAttackEffect = new RecordReference();
                    }

                    UnarmedAttackEffect.ReadBinary(reader);
                    break;

                case "EAMT":
                    if (UnarmedAttackAnimation == null)
                    {
                        UnarmedAttackAnimation = new SimpleSubrecord <UInt16>();
                    }

                    UnarmedAttackAnimation.ReadBinary(reader);
                    break;

                case "DEST":
                    if (Destructable == null)
                    {
                        Destructable = new Destructable();
                    }

                    Destructable.ReadBinary(reader);
                    break;

                case "SCRI":
                    if (Script == null)
                    {
                        Script = new RecordReference();
                    }

                    Script.ReadBinary(reader);
                    break;

                case "CNTO":
                    if (Contents == null)
                    {
                        Contents = new List <InventoryItem>();
                    }

                    InventoryItem tempCNTO = new InventoryItem();
                    tempCNTO.ReadBinary(reader);
                    Contents.Add(tempCNTO);
                    break;

                case "AIDT":
                    if (AIData == null)
                    {
                        AIData = new AIData();
                    }

                    AIData.ReadBinary(reader);
                    break;

                case "PKID":
                    if (Packages == null)
                    {
                        Packages = new List <RecordReference>();
                    }

                    RecordReference tempPKID = new RecordReference();
                    tempPKID.ReadBinary(reader);
                    Packages.Add(tempPKID);
                    break;

                case "CNAM":
                    if (Class == null)
                    {
                        Class = new RecordReference();
                    }

                    Class.ReadBinary(reader);
                    break;

                case "DATA":
                    if (Data == null)
                    {
                        Data = new NPCData();
                    }

                    Data.ReadBinary(reader);
                    break;

                case "DNAM":
                    if (Skills == null)
                    {
                        Skills = new NPCSkills();
                    }

                    Skills.ReadBinary(reader);
                    break;

                case "PNAM":
                    if (HeadParts == null)
                    {
                        HeadParts = new List <RecordReference>();
                    }

                    RecordReference tempPNAM = new RecordReference();
                    tempPNAM.ReadBinary(reader);
                    HeadParts.Add(tempPNAM);
                    break;

                case "HNAM":
                    if (HairType == null)
                    {
                        HairType = new RecordReference();
                    }

                    HairType.ReadBinary(reader);
                    break;

                case "LNAM":
                    if (HairLength == null)
                    {
                        HairLength = new SimpleSubrecord <Single>();
                    }

                    HairLength.ReadBinary(reader);
                    break;

                case "ENAM":
                    if (Eyes == null)
                    {
                        Eyes = new RecordReference();
                    }

                    Eyes.ReadBinary(reader);
                    break;

                case "HCLR":
                    if (HairColor == null)
                    {
                        HairColor = new SimpleSubrecord <Color>();
                    }

                    HairColor.ReadBinary(reader);
                    break;

                case "ZNAM":
                    if (CombatStyle == null)
                    {
                        CombatStyle = new RecordReference();
                    }

                    CombatStyle.ReadBinary(reader);
                    break;

                case "NAM4":
                    if (ImpactMaterialType == null)
                    {
                        ImpactMaterialType = new SimpleSubrecord <MaterialTypeUInt>();
                    }

                    ImpactMaterialType.ReadBinary(reader);
                    break;

                case "FGGS":
                    if (FaceGenGeometrySymmetric == null)
                    {
                        FaceGenGeometrySymmetric = new SimpleSubrecord <Byte[]>();
                    }

                    FaceGenGeometrySymmetric.ReadBinary(reader);
                    break;

                case "FGGA":
                    if (FaceGenGeometryAsymmetric == null)
                    {
                        FaceGenGeometryAsymmetric = new SimpleSubrecord <Byte[]>();
                    }

                    FaceGenGeometryAsymmetric.ReadBinary(reader);
                    break;

                case "FGTS":
                    if (FaceGenTexture == null)
                    {
                        FaceGenTexture = new SimpleSubrecord <Byte[]>();
                    }

                    FaceGenTexture.ReadBinary(reader);
                    break;

                case "NAM5":
                    if (Unknown == null)
                    {
                        Unknown = new SimpleSubrecord <UInt16>();
                    }

                    Unknown.ReadBinary(reader);
                    break;

                case "NAM6":
                    if (Height == null)
                    {
                        Height = new SimpleSubrecord <Single>();
                    }

                    Height.ReadBinary(reader);
                    break;

                case "NAM7":
                    if (Weight == null)
                    {
                        Weight = new SimpleSubrecord <Single>();
                    }

                    Weight.ReadBinary(reader);
                    break;

                default:
                    throw new Exception();
                }
            }
        }
コード例 #18
0
        /// <summary>
        /// This function discovers all packages that are currently paired with the current game
        /// aka DLC
        /// </summary>
        protected override void DiscoverPackages()
        {
            List <FSLeaf> s_Leaves;

            // Query the VFS to see if we have a Update folder
            if (!FileSystem.ListPath("/game/Update", out s_Leaves))
            {
                // We could not locate the update directory.
                return;
            }

            /*
             * In the case of Battlefield 4 there is
             * /game/Update/Patch
             * /game/Update/Xpack0
             * /game/Update/Xpack1
             * /game/Update/Xpack2
             * /game/Update/Xpack3
             * /game/Update/Xpack4
             * /game/Update/Xpack5
             * /game/Update/Xpack6
             * /game/Update/Xpack7
             *
             * packages that we have to parse and load
             */

            // Iterate through each folder that is under /Update
            foreach (var l_Leaf in s_Leaves)
            {
                // This shouldn't happen, but if we have a file skip it
                if (l_Leaf.File)
                {
                    continue;
                }

                byte[] l_ManifestData;

                if (!FileSystem.ReadFile("/game" + l_Leaf.Path + "/package.mft", out l_ManifestData))
                {
                    // There was an error opening the package.mft from file
                    continue;
                }

                // Create a new manifest for each entry
                var l_Manifest = new PackageManifest(l_ManifestData, l_Leaf.Path);

                // We can NEVER (as of 2016) have multiple authoritative packages
                if (l_Manifest.Authoritative && AuthoritativePackage != null)
#if DEBUG
                { throw new Exception("A game cannot have multiple authoritative packages."); }
#else
                { return; }
#endif

                // If the package we parsed is authoritative then set it
                if (l_Manifest.Authoritative)
                {
                    AuthoritativePackage = l_Manifest;
                }
                else // Otherwise add it to the list
                {
                    Packages.Add(l_Manifest);
                }
            }
        }
コード例 #19
0
        public void LoadPackages()
        {
            ReloadPackageManager();
            Task.Run(async() =>
            {
                List <IPackage> packages;
                IPackage ip;
#if DEBUG
                // packages = repo.GetPackages().ToList();
                // packages = repo.Search("OpenRPA", false).ToList();

                packages = new List <IPackage>();
                ip       = packageManager.SourceRepository.FindPackage("OpenRPA"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.AviRecorder"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.ExpressionEditor"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.FileWatcher"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Forms"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.IE"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Image"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Interfaces"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Java"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.JavaBridge"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.NamedPipeWrapper"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.NativeMessagingHost"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Net"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.NM"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Office"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Script"); if (ip != null)
                {
                    packages.Add(ip);
                }
                // ip = packageManager.SourceRepository.FindPackage("OpenRPA.Updater"); if(ip!=null) packages.Add(ip);
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Windows"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.WindowsAccessBridgeInterop"); if (ip != null)
                {
                    packages.Add(ip);
                }
#else
                // packages = repo.Search("OpenRPA.*", false).ToList();

                packages = new List <IPackage>();
                ip       = packageManager.SourceRepository.FindPackage("OpenRPA"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.AviRecorder"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.ExpressionEditor"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.FileWatcher"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Forms"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.IE"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Image"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Interfaces"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Java"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.JavaBridge"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.NamedPipeWrapper"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.NativeMessagingHost"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Net"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.NM"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Office"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Script"); if (ip != null)
                {
                    packages.Add(ip);
                }
                // ip = packageManager.SourceRepository.FindPackage("OpenRPA.Updater"); if(ip!=null) packages.Add(ip);
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.Windows"); if (ip != null)
                {
                    packages.Add(ip);
                }
                ip = packageManager.SourceRepository.FindPackage("OpenRPA.WindowsAccessBridgeInterop"); if (ip != null)
                {
                    packages.Add(ip);
                }
#endif

                // IPackageRepository localRepository = PackageRepositoryFactory.Default.CreateRepository(RepositoryPath);
                PackageModel m = null;
                foreach (var p in packageManager.LocalRepository.GetPackages())
                {
                    if (p.Id.ToLower() == "openrpa" || p.Id.ToLower().StartsWith("openrpa."))
                    {
                        this.Dispatcher.Invoke(() =>
                        {
                            m = Packages.Where(x => x.Package.Id == p.Id).FirstOrDefault();
                            if (m == null)
                            {
                                m = new PackageModel()
                                {
                                    Package = p, canUpgrade = false, isDownloaded = false, Version = p.Version
                                };
                                m.LatestVersion = p.Version.ToString();
                                Packages.Add(m);
                            }
                            else
                            {
                                if (new Version(p.Version.ToString()) > new Version(m.Version.ToString()))
                                {
                                    m.Version = p.Version; m.LatestVersion = p.Version.ToString(); m.Package = p;
                                }
                            }
                        });
                        m.isDownloaded = true;
                        if (!m.isInstalled)
                        {
                            m.isInstalled = isPackageInstalled(p);
                        }
                    }
                }
                foreach (var p in Packages)
                {
                    var id     = p.Package.Id.ToString();
                    var exists = packages.Where(x => x.Id == p.Package.Id && new Version(x.Version.ToString()) > new Version(p.Version.ToString())).FirstOrDefault();
                    if (exists != null)
                    {
                        if (new Version(exists.Version.ToString()) > new Version(p.Version.ToString()))
                        {
                            p.canUpgrade    = true;
                            p.LatestVersion = exists.Version.ToString();
                        }
                    }
                }
                foreach (var p in packages)
                {
                    if (p.Id.ToLower().Contains("openrpa.interfaces") || p.Id.ToLower().Contains("openrpa.namedpipewrapper"))
                    {
                        continue;
                    }
                    this.Dispatcher.Invoke(() =>
                    {
                        m = Packages.Where(x => x.Package.Id == p.Id).FirstOrDefault();
                        if (m == null)
                        {
                            m = new PackageModel()
                            {
                                Package = p, canUpgrade = false, isDownloaded = false, Version = p.Version
                            };
                            m.LatestVersion = p.Version.ToString();
                            Packages.Add(m);
                        }
                        var exists     = packageManager.LocalRepository.FindPackage(p.Id);
                        m.isDownloaded = (exists != null);
                        if (m.isDownloaded && !m.isInstalled)
                        {
                            m.isInstalled = isPackageInstalled(p);
                        }
                    });
                }
                foreach (var p in packageManager.LocalRepository.GetPackages())
                {
                    // if (p.Id.ToLower().Contains("openrpa.interfaces") || p.Id.ToLower().Contains("openrpa.namedpipewrapper")) continue;

                    this.Dispatcher.Invoke(() =>
                    {
                        m = Packages.Where(x => x.Package.Id == p.Id).FirstOrDefault();
                        if (m == null)
                        {
                            m = new PackageModel()
                            {
                                Package = p, canUpgrade = false, isDownloaded = false, Version = p.Version
                            };
                            m.LatestVersion = p.Version.ToString();
                            Packages.Add(m);
                        }
                    });

                    m.isDownloaded = true;
                    if (!m.isInstalled)
                    {
                        m.isInstalled = isPackageInstalled(p);
                    }
                }
                this.Dispatcher.Invoke(() =>
                {
                    ButtonUpdateAll.IsEnabled = false;
                });
                //if (!System.IO.Directory.Exists(RepositoryPath) && !System.IO.Directory.Exists(InstallPath))
                if (!System.IO.Directory.Exists(InstallPath) || !System.IO.File.Exists(InstallPath + @"\OpenRPA.exe"))
                {
                    FirstRun         = false;
                    var dialogResult = MessageBox.Show("Install OpenRPA and most common packages?", "First run", MessageBoxButton.YesNo);
                    if (dialogResult == MessageBoxResult.Yes)
                    {
                        this.Dispatcher.Invoke(() =>
                        {
                            listPackages.IsEnabled     = false;
                            listPackages.SelectedValue = null;
                        });
                        try
                        {
                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA").FirstOrDefault());
                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.IE").FirstOrDefault());
                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.NM").FirstOrDefault());
                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.Java").FirstOrDefault());
                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.Forms").FirstOrDefault());
                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.Script").FirstOrDefault());
                            if (IsOfficeInstalled())
                            {
                                await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.Office").FirstOrDefault());
                            }
                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.AviRecorder").FirstOrDefault());
                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.FileWatcher").FirstOrDefault());
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.ToString());
                        }
                        this.Dispatcher.Invoke(() =>
                        {
                            listPackages.IsEnabled = true;
                            ButtonLaunch(null, null);
                        });
                    }
                }
                else if (FirstRun)
                {
                    FirstRun         = false;
                    int UpgradeCount = Packages.Where(x => x.canUpgrade).Count();
                    bool hasUpgrades = (UpgradeCount > 0);
                    if (hasUpgrades)
                    {
                        var dialogResult = MessageBox.Show(UpgradeCount + " packages has updates, update all ?", "Upgrades available", MessageBoxButton.YesNo);
                        if (dialogResult == MessageBoxResult.Yes)
                        {
                            ButtonUpdateAllClick(null, null);
                        }
                        else
                        {
                            this.Dispatcher.Invoke(() =>
                            {
                                ButtonUpdateAll.IsEnabled = true;
                            });
                        }
                    }
                }
            });
        }
コード例 #20
0
        /// <summary>
        /// Parses the data.
        /// </summary>
        /// <param name="streamReader">The stream reader.</param>
        private void ParseData(IStreamReader streamReader)
        {
            // ProcessDate:2014-01-05%TotalItems:5%TotalPrice:160.00%PackageNumber:1%Order:Food.Dogfood%Price:10.50
            string dataLine;

            do
            {
                dataLine = streamReader.ReadLine();
                _logger.LogInfo("Parsing: " + dataLine);
                if (dataLine != null)
                {
                    string[] allDataFromALine = dataLine.Split('%');

                    // Parse data
                    DateTime processDateFromDataline = DateTime.Parse(GetDataFromInfoArray("ProcessDate", allDataFromALine));
                    TotalNumberOfOrdersFromInput = int.Parse(GetDataFromInfoArray("TotalItems", allDataFromALine));
                    TotalPriceOfOrdersFromInput  = double.Parse(GetDataFromInfoArray("TotalPrice", allDataFromALine));
                    int    packageNumberFromDataline = int.Parse(GetDataFromInfoArray("PackageNumber", allDataFromALine));
                    string orderNameFromDataline     = GetDataFromInfoArray("Order", allDataFromALine);
                    double priceNameFromDataline     = double.Parse(GetDataFromInfoArray("Price", allDataFromALine));

                    // Find existing Package
                    Package package = _packages.SingleOrDefault(p => p.PackageNumber == packageNumberFromDataline);
                    if (package == null)
                    {
                        package = new Package(packageNumberFromDataline, DateTime.Now);
                        Packages.Add(package);
                    }

                    // Add the order to the package
                    Order newOrder = new Order(orderNameFromDataline, priceNameFromDataline);
                    package.Orders.Add(newOrder);

                    // Set ProcessDate
                    ProcessDate = processDateFromDataline;
                }
            } while (dataLine != null);

            // Checksum data
            foreach (var package in Packages)
            {
                TotalNumberOfOrders            += package.Orders.Count;
                TotalPriceOfOrders             += package.Orders.Sum(o => o.Price);
                TotalPriceOfOrdersWithDiscount += package.TotalOrderPriceWithDiscount;
            }
            if (TotalNumberOfOrders != TotalNumberOfOrdersFromInput)
            {
                Console.Out.WriteLine("Total Orders expected: {0}, actual: {1}", TotalNumberOfOrdersFromInput, TotalNumberOfOrders);
            }
            else
            {
                Console.Out.WriteLine("Checksum total # of orders are oke.");
            }

            if (TotalPriceOfOrders != TotalPriceOfOrdersFromInput)
            {
                Console.Out.WriteLine("Total price of shipment expected: {0:C}, actual: {1:C}", TotalPriceOfOrdersFromInput, TotalPriceOfOrders);
            }
            else
            {
                Console.Out.WriteLine("Checksum total price is oke.");
            }

            Console.Out.WriteLine("Total price (with Discount): {0:C}", TotalPriceOfOrdersWithDiscount);
            Console.Out.WriteLine("Total price (without Discount): {0:C}", TotalPriceOfOrders);
        }
コード例 #21
0
        public PushCommand(IOctopusRepositoryFactory repositoryFactory, ILog log, IOctopusFileSystem fileSystem)
            : base(repositoryFactory, log, fileSystem)
        {
            var options = Options.For("Package pushing");

            options.Add("package=", "Package file to push. Specify multiple packages by specifying this argument multiple times: \n--package package1 --package package2", package => Packages.Add(EnsurePackageExists(fileSystem, package)));
            options.Add("replace-existing", "If the package already exists in the repository, the default behavior is to reject the new package being pushed. You can pass this flag to overwrite the existing package.", replace => ReplaceExisting = true);
        }
コード例 #22
0
ファイル: SelectEffects.xaml.cs プロジェクト: dons20/Gw2Hook
        public SelectEffectsDialog()
        {
            InitializeComponent();
            DataContext = this;

            Packages.Add(new EffectPackage {
                Enabled            = true,
                PackageName        = "Standard effects",
                PackageDescription = "https://github.com/crosire/reshade-shaders",
                DownloadUrl        = "https://github.com/crosire/reshade-shaders/archive/master.zip"
            });
            Packages.Add(new EffectPackage {
                PackageName        = "Color effects by prod80",
                PackageDescription = "https://github.com/prod80/prod80-ReShade-Repository",
                DownloadUrl        = "https://github.com/prod80/prod80-ReShade-Repository/archive/master.zip"
            });
            Packages.Add(new EffectPackage {
                PackageName        = "qUINT by Marty McFly",
                PackageDescription = "https://github.com/martymcmodding/qUINT",
                DownloadUrl        = "https://github.com/martymcmodding/qUINT/archive/master.zip"
            });
            Packages.Add(new EffectPackage {
                PackageName        = "Depth3D by BlueSkyDefender",
                PackageDescription = "https://github.com/BlueSkyDefender/Depth3D",
                DownloadUrl        = "https://github.com/BlueSkyDefender/Depth3D/archive/master.zip"
            });
            Packages.Add(new EffectPackage {
                PackageName        = "OtisFX by Otis",
                PackageDescription = "https://github.com/FransBouma/OtisFX",
                DownloadUrl        = "https://github.com/FransBouma/OtisFX/archive/master.zip"
            });
            Packages.Add(new EffectPackage {
                PackageName        = "luluco250's effects",
                PackageDescription = "https://github.com/luluco250/FXShaders",
                DownloadUrl        = "https://github.com/luluco250/FXShaders/archive/master.zip"
            });
            Packages.Add(new EffectPackage {
                PackageName        = "Fubax ReShade FX shaders",
                PackageDescription = "https://github.com/Fubaxiusz/fubax-shaders",
                DownloadUrl        = "https://github.com/Fubaxiusz/fubax-shaders/archive/master.zip"
            });
            Packages.Add(new EffectPackage {
                PackageName        = "Daodan's effects",
                PackageDescription = "https://github.com/Daodan317081/reshade-shaders",
                DownloadUrl        = "https://github.com/Daodan317081/reshade-shaders/archive/master.zip"
            });
            Packages.Add(new EffectPackage {
                PackageName        = "brussell's effects",
                PackageDescription = "https://github.com/brussell1/Shaders",
                DownloadUrl        = "https://github.com/brussell1/Shaders/archive/master.zip"
            });
            Packages.Add(new EffectPackage {
                PackageName        = "Pirate Shaders by Heathen",
                PackageDescription = "https://github.com/Heathen/Pirate-Shaders",
                DownloadUrl        = "https://github.com/Heathen/Pirate-Shaders/archive/master.zip"
            });
            Packages.Add(new EffectPackage {
                PackageName        = "PPFX by Euda",
                PackageDescription = "https://github.com/pascalmatthaeus/ppfx",
                DownloadUrl        = "https://github.com/pascalmatthaeus/ppfx/archive/master.zip"
            });
        }
コード例 #23
0
ファイル: Shipment.cs プロジェクト: Ozindar/GCUnitTestDojo
        /// <summary>
        /// Parses the data.
        /// </summary>
        /// <param name="streamReader">The stream reader.</param>
        private void ParseData(TextReader streamReader)
        {
            string dataLine;

            do
            {
                // Read the line from the streamreader
                dataLine = streamReader.ReadLine();
                if (dataLine != null)
                {
                    // Split the data based on the % character
                    string[] allDataFromALine = dataLine.Split('%');

                    // Parse data: set al variables
                    DateTime processDateFromDataline   = DateTime.MinValue;
                    int      packageNumberFromDataline = 0;
                    string   orderNameFromDataline     = "";
                    double   priceNameFromDataline     = 0d;

                    // For each over the all the data lines
                    foreach (string data in allDataFromALine)
                    {
                        if (data.StartsWith("ProcessDate"))
                        {
                            int index = data.LastIndexOf(":");
                            index = index + 1;
                            string dataValue = data.Substring(index);
                            processDateFromDataline = DateTime.Parse(dataValue);
                        }
                        else if (data.StartsWith("TotalItems"))
                        {
                            int index = data.LastIndexOf(":");
                            index = index + 1;
                            string dataValue = data.Substring(index);
                            TotalNumberOfOrdersFromInput = int.Parse(dataValue);
                        }
                        else if (data.StartsWith("TotalPrice"))
                        {
                            int index = data.LastIndexOf(":");
                            index = index + 1;
                            string dataValue = data.Substring(index);
                            TotalPriceOfOrdersFromInput = double.Parse(dataValue);
                        }
                        else if (data.StartsWith("PackageNumber"))
                        {
                            int index = data.LastIndexOf(":");
                            index = index + 1;
                            string dataValue = data.Substring(index);
                            packageNumberFromDataline = int.Parse(dataValue);
                        }
                        else if (data.StartsWith("Order"))
                        {
                            int index = data.LastIndexOf(":");
                            index = index + 1;
                            string dataValue = data.Substring(index);
                            orderNameFromDataline = dataValue;
                        }
                        else if (data.StartsWith("Price"))
                        {
                            int index = data.LastIndexOf(":");
                            index = index + 1;
                            string dataValue = data.Substring(index);
                            priceNameFromDataline = double.Parse(dataValue);
                        }
                    }

                    // Find existing Package
                    Package package = _packages.SingleOrDefault(p => p.PackageNumber == packageNumberFromDataline);
                    if (package == null)
                    {
                        // If package is null:
                        package = new Package(packageNumberFromDataline, DateTime.Now, new MyDateTime());
                        Packages.Add(package);
                    }
                    else
                    {
                        // No else case
                    }

                    // Create an order...
                    Order newOrder = new Order(orderNameFromDataline, priceNameFromDataline);
                    // ... and add it to the the package
                    package.Orders.Add(newOrder);

                    // Set ProcessDate
                    ProcessDate = processDateFromDataline;
                }
            } while (dataLine != null);

            // Checksum data
            foreach (var package in Packages)
            {
                TotalNumberOfOrders            += package.Orders.Count;
                TotalPriceOfOrders             += package.Orders.Sum(o => o.Price);
                TotalPriceOfOrdersWithDiscount += package.TotalOrderPriceWithDiscount;
            }
            if (TotalNumberOfOrders != TotalNumberOfOrdersFromInput)
            {
                Console.Out.WriteLine("Total Orders expected: {0}, actual: {1}", TotalNumberOfOrdersFromInput, TotalNumberOfOrders);
            }
            else
            {
                Console.Out.WriteLine("Checksum total # of orders are oke.");
            }

            if (TotalPriceOfOrders != TotalPriceOfOrdersFromInput)
            {
                Console.Out.WriteLine("Total price of shipment expected: {0:C}, actual: {1:C}", TotalPriceOfOrdersFromInput, TotalPriceOfOrders);
            }
            else
            {
                Console.Out.WriteLine("Checksum total price is oke.");
            }

            Console.Out.WriteLine("Total price (with Discount): {0:C}", TotalPriceOfOrdersWithDiscount);
            Console.Out.WriteLine("Total price (without Discount): {0:C}", TotalPriceOfOrders);
        }
コード例 #24
0
        private void Recieve()
        {
            SyncXMLSerializer <ShCustomers>          customerXmlSerializer           = new SyncXMLSerializer <ShCustomers>();
            SyncXMLSerializer <ShIngredient>         ingredientXmlSerializer         = new SyncXMLSerializer <ShIngredient>();
            SyncXMLSerializer <ShIngredientCategory> ingredientCategoryXmlSerializer = new SyncXMLSerializer <ShIngredientCategory>();
            SyncXMLSerializer <ShOrderItems>         orderItemXmlSerializer          = new SyncXMLSerializer <ShOrderItems>();
            SyncXMLSerializer <ShOrders>             orderXmlSerializer             = new SyncXMLSerializer <ShOrders>();
            SyncXMLSerializer <ShPackage>            packageXmlSerializer           = new SyncXMLSerializer <ShPackage>();
            SyncXMLSerializer <ShProductInfo>        productInfoXmlSerializer       = new SyncXMLSerializer <ShProductInfo>();
            SyncXMLSerializer <ShRecipe>             recipeXmlSerializer            = new SyncXMLSerializer <ShRecipe>();
            SyncXMLSerializer <ShRecipeIngredients>  recipeIngredientsXmlSerializer = new SyncXMLSerializer <ShRecipeIngredients>();
            SyncXMLSerializer <ShRule>           ruleXmlSerializer         = new SyncXMLSerializer <ShRule>();
            SyncXMLSerializer <ShRuleCategories> ruleCategoryXmlSerializer = new SyncXMLSerializer <ShRuleCategories>();
            SyncXMLSerializer <ShShape>          shapeXmlSerializer        = new SyncXMLSerializer <ShShape>();

            int    length         = 0;
            string recievedString = "";
            int    TableId        = 0;
            bool   wrongRecieving = false;

            buffer = new byte[2];

            while (TableId < 12.5)
            {
                length         = socket.Receive(buffer);
                recievedString = Encoding.ASCII.GetString(buffer, 0, length);
                //Console.WriteLine(recievedString);
                //Console.WriteLine(buffer.Length);

                if (buffer.Length == 2)
                {
                    buffer  = new byte[10];
                    TableId = int.Parse(recievedString);
                    //Console.WriteLine("TableID: "+TableId.ToString());
                    continue;
                }
                else if (buffer.Length == 10)
                {
                    if (recievedString[9] == '<')
                    {
                        wrongRecieving = true;
                        recievedString = recievedString.Remove(9);
                        //Console.WriteLine("Wrong Recieving: Edited: " + recievedString);
                    }

                    buffer = new byte[int.Parse(recievedString)];
                    continue;
                }

                if (wrongRecieving)
                {
                    recievedString = "<" + recievedString;
                    wrongRecieving = false;
                }

                switch (TableId)
                {
                case 1:         //Customer
                    customers.Add(customerXmlSerializer.Deserialize(recievedString));
                    break;

                case 2:         //Ingredient
                    ingredients.Add(ingredientXmlSerializer.Deserialize(recievedString));
                    break;

                case 3:         //Ingredient_Category
                    ingredientCategory.Add(ingredientCategoryXmlSerializer.Deserialize(recievedString));
                    break;

                case 4:         //Order_Items
                    orderItems.Add(orderItemXmlSerializer.Deserialize(recievedString));
                    break;

                case 5:         //Orders
                    orders.Add(orderXmlSerializer.Deserialize(recievedString));
                    break;

                case 6:         //Packages
                    packages.Add(packageXmlSerializer.Deserialize(recievedString));
                    break;

                case 7:         //Product_Info
                    productInfo.Add(productInfoXmlSerializer.Deserialize(recievedString));
                    break;

                case 8:         //Recipe
                    recipe.Add(recipeXmlSerializer.Deserialize(recievedString));
                    break;

                case 9:         //Recipe_Ingredients
                    recipeIngredients.Add(recipeIngredientsXmlSerializer.Deserialize(recievedString));
                    break;

                case 10:        //Rule
                    rule.Add(ruleXmlSerializer.Deserialize(recievedString));
                    break;

                case 11:        //Rule_Categories
                    ruleCategories.Add(ruleCategoryXmlSerializer.Deserialize(recievedString));
                    break;

                case 12:        //Shape
                    shape.Add(shapeXmlSerializer.Deserialize(recievedString));
                    break;

                default:
                    break;
                }

                buffer = new byte[2];
            }
        }
コード例 #25
0
        public override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("EditorID", false, out subEle))
            {
                if (EditorID == null)
                {
                    EditorID = new SimpleSubrecord <String>();
                }

                EditorID.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("ObjectBounds", false, out subEle))
            {
                if (ObjectBounds == null)
                {
                    ObjectBounds = new ObjectBounds();
                }

                ObjectBounds.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Name", false, out subEle))
            {
                if (Name == null)
                {
                    Name = new SimpleSubrecord <String>();
                }

                Name.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Model", false, out subEle))
            {
                if (Model == null)
                {
                    Model = new Model();
                }

                Model.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("BaseStats", false, out subEle))
            {
                if (BaseStats == null)
                {
                    BaseStats = new NPCBaseStats();
                }

                BaseStats.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Factions", false, out subEle))
            {
                if (Factions == null)
                {
                    Factions = new List <FactionMembership>();
                }

                foreach (XElement e in subEle.Elements())
                {
                    FactionMembership tempSNAM = new FactionMembership();
                    tempSNAM.ReadXML(e, master);
                    Factions.Add(tempSNAM);
                }
            }
            if (ele.TryPathTo("DeathItem", false, out subEle))
            {
                if (DeathItem == null)
                {
                    DeathItem = new RecordReference();
                }

                DeathItem.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("VoiceType", false, out subEle))
            {
                if (VoiceType == null)
                {
                    VoiceType = new RecordReference();
                }

                VoiceType.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Template", false, out subEle))
            {
                if (Template == null)
                {
                    Template = new RecordReference();
                }

                Template.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Race", false, out subEle))
            {
                if (Race == null)
                {
                    Race = new RecordReference();
                }

                Race.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("ActorEffects", false, out subEle))
            {
                if (ActorEffects == null)
                {
                    ActorEffects = new List <RecordReference>();
                }

                foreach (XElement e in subEle.Elements())
                {
                    RecordReference tempSPLO = new RecordReference();
                    tempSPLO.ReadXML(e, master);
                    ActorEffects.Add(tempSPLO);
                }
            }
            if (ele.TryPathTo("Unarmed/AttackEffect", false, out subEle))
            {
                if (UnarmedAttackEffect == null)
                {
                    UnarmedAttackEffect = new RecordReference();
                }

                UnarmedAttackEffect.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Unarmed/AttackAnimation", false, out subEle))
            {
                if (UnarmedAttackAnimation == null)
                {
                    UnarmedAttackAnimation = new SimpleSubrecord <UInt16>();
                }

                UnarmedAttackAnimation.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Destructable", false, out subEle))
            {
                if (Destructable == null)
                {
                    Destructable = new Destructable();
                }

                Destructable.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Script", false, out subEle))
            {
                if (Script == null)
                {
                    Script = new RecordReference();
                }

                Script.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Contents", false, out subEle))
            {
                if (Contents == null)
                {
                    Contents = new List <InventoryItem>();
                }

                foreach (XElement e in subEle.Elements())
                {
                    InventoryItem tempCNTO = new InventoryItem();
                    tempCNTO.ReadXML(e, master);
                    Contents.Add(tempCNTO);
                }
            }
            if (ele.TryPathTo("AIData", false, out subEle))
            {
                if (AIData == null)
                {
                    AIData = new AIData();
                }

                AIData.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Packages", false, out subEle))
            {
                if (Packages == null)
                {
                    Packages = new List <RecordReference>();
                }

                foreach (XElement e in subEle.Elements())
                {
                    RecordReference tempPKID = new RecordReference();
                    tempPKID.ReadXML(e, master);
                    Packages.Add(tempPKID);
                }
            }
            if (ele.TryPathTo("Class", false, out subEle))
            {
                if (Class == null)
                {
                    Class = new RecordReference();
                }

                Class.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Data", false, out subEle))
            {
                if (Data == null)
                {
                    Data = new NPCData();
                }

                Data.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Skills", false, out subEle))
            {
                if (Skills == null)
                {
                    Skills = new NPCSkills();
                }

                Skills.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("HeadParts", false, out subEle))
            {
                if (HeadParts == null)
                {
                    HeadParts = new List <RecordReference>();
                }

                foreach (XElement e in subEle.Elements())
                {
                    RecordReference tempPNAM = new RecordReference();
                    tempPNAM.ReadXML(e, master);
                    HeadParts.Add(tempPNAM);
                }
            }
            if (ele.TryPathTo("Hair/Type", false, out subEle))
            {
                if (HairType == null)
                {
                    HairType = new RecordReference();
                }

                HairType.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Hair/Length", false, out subEle))
            {
                if (HairLength == null)
                {
                    HairLength = new SimpleSubrecord <Single>();
                }

                HairLength.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Eyes", false, out subEle))
            {
                if (Eyes == null)
                {
                    Eyes = new RecordReference();
                }

                Eyes.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Hair/Color", false, out subEle))
            {
                if (HairColor == null)
                {
                    HairColor = new SimpleSubrecord <Color>();
                }

                HairColor.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("CombatStyle", false, out subEle))
            {
                if (CombatStyle == null)
                {
                    CombatStyle = new RecordReference();
                }

                CombatStyle.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("ImpactMaterialType", false, out subEle))
            {
                if (ImpactMaterialType == null)
                {
                    ImpactMaterialType = new SimpleSubrecord <MaterialTypeUInt>();
                }

                ImpactMaterialType.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("FaceGen/Geometry/Symmetric", false, out subEle))
            {
                if (FaceGenGeometrySymmetric == null)
                {
                    FaceGenGeometrySymmetric = new SimpleSubrecord <Byte[]>();
                }

                FaceGenGeometrySymmetric.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("FaceGen/Geometry/Asymmetric", false, out subEle))
            {
                if (FaceGenGeometryAsymmetric == null)
                {
                    FaceGenGeometryAsymmetric = new SimpleSubrecord <Byte[]>();
                }

                FaceGenGeometryAsymmetric.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("FaceGen/Texture", false, out subEle))
            {
                if (FaceGenTexture == null)
                {
                    FaceGenTexture = new SimpleSubrecord <Byte[]>();
                }

                FaceGenTexture.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Unknown", false, out subEle))
            {
                if (Unknown == null)
                {
                    Unknown = new SimpleSubrecord <UInt16>();
                }

                Unknown.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Height", false, out subEle))
            {
                if (Height == null)
                {
                    Height = new SimpleSubrecord <Single>();
                }

                Height.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Weight", false, out subEle))
            {
                if (Weight == null)
                {
                    Weight = new SimpleSubrecord <Single>();
                }

                Weight.ReadXML(subEle, master);
            }
        }
コード例 #26
0
ファイル: PushCommand.cs プロジェクト: jnus/OctopusClients
        public PushCommand(IOctopusAsyncRepositoryFactory repositoryFactory, IOctopusFileSystem fileSystem, IOctopusClientFactory clientFactory, ICommandOutputProvider commandOutputProvider)
            : base(clientFactory, repositoryFactory, fileSystem, commandOutputProvider)
        {
            var options = Options.For("Package pushing");

            options.Add("package=", "Package file to push. Specify multiple packages by specifying this argument multiple times: \n--package package1 --package package2", package => Packages.Add(EnsurePackageExists(fileSystem, package)));
            options.Add("replace-existing", "If the package already exists in the repository, the default behavior is to reject the new package being pushed. You can pass this flag to overwrite the existing package.", replace => ReplaceExisting = true);

            pushedPackages = new List <string>();
            failedPackages = new List <Tuple <string, Exception> >();
        }
コード例 #27
0
ファイル: RemoteSourceViewModel.cs プロジェクト: tapika/swupd
        public async Task LoadPackages(bool forceCheckForOutdatedPackages)
        {
            try
            {
                if (!CanLoadRemotePackages() && Packages.Any())
                {
                    return;
                }

                if (!HasLoaded && (_configService.GetEffectiveConfiguration().PreventPreload ?? false))
                {
                    ShowShouldPreventPreloadMessage = true;
                    HasLoaded = true;
                    return;
                }

                HasLoaded = false;
                ShowShouldPreventPreloadMessage = false;

                var sort = SortSelection == Resources.RemoteSourceViewModel_SortSelectionPopularity ? "DownloadCount" : "Title";

                await _progressService.StartLoading(string.Format(Resources.RemoteSourceViewModel_LoadingPage, CurrentPage));

                _progressService.WriteMessage(Resources.RemoteSourceViewModel_FetchingPackages);

                try
                {
                    var result =
                        await
                        _chocolateyPackageService.Search(
                            SearchQuery,
                            new PackageSearchOptions(
                                PageSize,
                                CurrentPage - 1,
                                sort,
                                IncludePrerelease,
                                IncludeAllVersions,
                                MatchWord,
                                Source.Value));

                    var installed = await _chocolateyPackageService.GetInstalledPackages();

                    var outdated = await _chocolateyPackageService.GetOutdatedPackages(false, null, forceCheckForOutdatedPackages);

                    PageCount = (int)Math.Ceiling((double)result.TotalCount / (double)PageSize);
                    Packages.Clear();

                    SourceType sourceType = SourceType.normal;
                    Enum.TryParse <SourceType>(Source.Value, out sourceType);

                    result.Packages.ToList().ForEach(p =>
                    {
                        if (installed.Any(package => string.Equals(package.Id, p.Id, StringComparison.OrdinalIgnoreCase)))
                        {
                            p.IsInstalled = true;
                        }
                        if (outdated.Any(package => string.Equals(package.Id, p.Id, StringComparison.OrdinalIgnoreCase)))
                        {
                            p.IsLatestVersion = false;
                        }

                        var pnew        = Mapper.Map <IPackageViewModel>(p);
                        pnew.SourceType = sourceType;
                        Packages.Add(pnew);
                    });

                    if (_configService.GetEffectiveConfiguration().ExcludeInstalledPackages ?? false)
                    {
                        Packages.RemoveAll(x => x.IsInstalled);
                    }

                    if (PageCount < CurrentPage)
                    {
                        CurrentPage = PageCount == 0 ? 1 : PageCount;
                    }
                }
                finally
                {
                    await _progressService.StopLoading();

                    HasLoaded = true;
                }

                await _eventAggregator.PublishOnUIThreadAsync(new ResetScrollPositionMessage());
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "Failed to load new packages.");
                await _dialogService.ShowMessageAsync(
                    Resources.RemoteSourceViewModel_FailedToLoad,
                    string.Format(Resources.RemoteSourceViewModel_FailedToLoadRemotePackages, ex.Message));

                throw;
            }
        }
コード例 #28
0
        public void LoadPackages(string searchString = "OpenRPA")
        {
            var result = new List <PackageModel>();

            foreach (var m in Packages)
            {
                result.Add(m);
            }
            Task.Run(async() =>
            {
                var packagesearch = await OpenRPAPackageManager.Instance.Search(searchString);
                foreach (var p in packagesearch)
                {
                    var exists = result.Where(x => x.Package.Identity.Id == p.Identity.Id).FirstOrDefault();
                    if (exists == null)
                    {
                        PackageModel m = new PackageModel()
                        {
                            Package = p, canUpgrade = false, isDownloaded = false
                        };
                        m.LocalPackage = OpenRPAPackageManager.Instance.GetLocal(p.Identity.Id);
                        result.Add(m);
                    }
                    else
                    {
                        exists.LocalPackage = OpenRPAPackageManager.Instance.GetLocal(p.Identity.Id);
                    }
                }
                foreach (var m in result)
                {
                    if (m.LocalPackage != null)
                    {
                        await Dispatcher.Invoke(async() =>
                        {
                            try
                            {
                                m.isDownloaded = true;
                                m.isInstalled  = await OpenRPAPackageManager.Instance.IsPackageInstalled(m.LocalPackage);
                                m.canUpgrade   = m.Version > m.LocalPackage.Identity.Version;
                            }
                            catch (Exception ex)
                            {
                                OpenRPAPackageManagerLogger.Instance.LogError(ex.ToString());
                            }
                        });
                    }
                }
                Dispatcher.Invoke(() =>
                {
                    foreach (var p in result)
                    {
                        var exists = Packages.Where(x => x.Package.Identity.Id == p.Package.Identity.Id).FirstOrDefault();
                        if (exists == null)
                        {
                            Packages.Add(p);
                        }
                        if (exists != null)
                        {
                            p.NotifyPropertyChanged("Image");
                            p.NotifyPropertyChanged("Name");
                            p.NotifyPropertyChanged("IsNotDownloaded");
                            p.NotifyPropertyChanged("isDownloaded");
                            p.NotifyPropertyChanged("canUpgrade");
                            p.NotifyPropertyChanged("isDownloaded");
                            p.NotifyPropertyChanged("Name");
                            p.NotifyPropertyChanged("InstalledVersionString");
                            p.NotifyPropertyChanged("LatestVersion");
                            p.NotifyPropertyChanged("LatestVersion");
                        }
                    }
                    ButtonUpdateAll.IsEnabled = result.Where(x => x.canUpgrade == true).Count() > 0;
                });

                if (!System.IO.Directory.Exists(OpenRPAPackageManager.Instance.Destinationfolder) || !System.IO.File.Exists(OpenRPAPackageManager.Instance.Destinationfolder + @"\OpenRPA.exe"))
                {
                    if (FirstRun)
                    {
                        FirstRun         = false;
                        var dialogResult = MessageBox.Show("Install OpenRPA and most common packages?", "First run", MessageBoxButton.YesNo);
                        if (dialogResult == MessageBoxResult.Yes)
                        {
                            await OpenRPAPackageManager.Instance.DownloadAndInstall(result.Where(x => x.Package.Identity.Id == "OpenRPA").First().Package.Identity);
                            await OpenRPAPackageManager.Instance.DownloadAndInstall(result.Where(x => x.Package.Identity.Id == "OpenRPA.IE").First().Package.Identity);
                            await OpenRPAPackageManager.Instance.DownloadAndInstall(result.Where(x => x.Package.Identity.Id == "OpenRPA.NM").First().Package.Identity);
                            await OpenRPAPackageManager.Instance.DownloadAndInstall(result.Where(x => x.Package.Identity.Id == "OpenRPA.Forms").First().Package.Identity);
                            await OpenRPAPackageManager.Instance.DownloadAndInstall(result.Where(x => x.Package.Identity.Id == "OpenRPA.Script").First().Package.Identity);
                            if (IsOfficeInstalled())
                            {
                                await OpenRPAPackageManager.Instance.DownloadAndInstall(result.Where(x => x.Package.Identity.Id == "OpenRPA.Office").First().Package.Identity);
                            }
                            await OpenRPAPackageManager.Instance.DownloadAndInstall(result.Where(x => x.Package.Identity.Id == "OpenRPA.AviRecorder").First().Package.Identity);
                            await OpenRPAPackageManager.Instance.DownloadAndInstall(result.Where(x => x.Package.Identity.Id == "OpenRPA.FileWatcher").First().Package.Identity);
                        }
                        LoadPackages();
                        ButtonLaunch(null, null);
                    }
                }
                bussy = bussy;

                //                // IPackageRepository localRepository = PackageRepositoryFactory.Default.CreateRepository(RepositoryPath);
                //                PackageModel m = null;
                //                foreach (var p in packageManager.LocalRepository.GetPackages())
                //                {
                //                    if (p.Id.ToLower() == "openrpa" || p.Id.ToLower().StartsWith("openrpa."))
                //                    {
                //                        this.Dispatcher.Invoke(() =>
                //                        {
                //                            m = Packages.Where(x => x.Package.Id == p.Id).FirstOrDefault();
                //                            if (m == null)
                //                            {
                //                                m = new PackageModel() { Package = p, canUpgrade = false, isDownloaded = false, Version = p.Version };
                //                                m.LatestVersion = p.Version.ToString();
                //                                Packages.Add(m);
                //                            }
                //                            else
                //                            {
                //                                if (new Version(p.Version.ToString()) > new Version(m.Version.ToString())) { m.Version = p.Version; m.LatestVersion = p.Version.ToString(); m.Package = p; }
                //                            }
                //                        });
                //                        m.isDownloaded = true;
                //                        if (!m.isInstalled) m.isInstalled = IsPackageInstalled(p);
                //                    }
                //                }
                //                foreach (var p in Packages)
                //                {
                //                    var id = p.Package.Id.ToString();
                //                    var exists = packages.Where(x => x.Id == p.Package.Id && new Version(x.Version.ToString()) > new Version(p.Version.ToString())).FirstOrDefault();
                //                    if (exists != null)
                //                    {
                //                        if (new Version(exists.Version.ToString()) > new Version(p.Version.ToString()))
                //                        {
                //                            p.canUpgrade = true;
                //                            p.LatestVersion = exists.Version.ToString();
                //                        }

                //                    }
                //                }
                //                foreach (var p in packages)
                //                {
                //                    if (p.Id.ToLower().Contains("openrpa.interfaces") || p.Id.ToLower().Contains("openrpa.namedpipewrapper")) continue;
                //                    this.Dispatcher.Invoke(() =>
                //                    {
                //                        m = Packages.Where(x => x.Package.Id == p.Id).FirstOrDefault();
                //                        if (m == null)
                //                        {
                //                            m = new PackageModel() { Package = p, canUpgrade = false, isDownloaded = false, Version = p.Version };
                //                            m.LatestVersion = p.Version.ToString();
                //                            Packages.Add(m);
                //                        }
                //                        var exists = packageManager.LocalRepository.FindPackage(p.Id);
                //                        m.isDownloaded = (exists != null);
                //                        if (m.isDownloaded && !m.isInstalled) m.isInstalled = IsPackageInstalled(p);
                //                    });
                //                }
                //                foreach (var p in packageManager.LocalRepository.GetPackages())
                //                {
                //                    // if (p.Id.ToLower().Contains("openrpa.interfaces") || p.Id.ToLower().Contains("openrpa.namedpipewrapper")) continue;

                //                    this.Dispatcher.Invoke(() =>
                //                    {
                //                        m = Packages.Where(x => x.Package.Id == p.Id).FirstOrDefault();
                //                        if (m == null)
                //                        {
                //                            m = new PackageModel() { Package = p, canUpgrade = false, isDownloaded = false, Version = p.Version };
                //                            m.LatestVersion = p.Version.ToString();
                //                            Packages.Add(m);
                //                        }
                //                    });

                //                    m.isDownloaded = true;
                //                    if (!m.isInstalled) m.isInstalled = IsPackageInstalled(p);
                //                }
                //                this.Dispatcher.Invoke(() =>
                //                {
                //                    ButtonUpdateAll.IsEnabled = false;
                //                });
                //                //if (!System.IO.Directory.Exists(RepositoryPath) && !System.IO.Directory.Exists(InstallPath))
                //                if (!System.IO.Directory.Exists(InstallPath) || !System.IO.File.Exists(InstallPath + @"\OpenRPA.exe"))
                //                {
                //                    FirstRun = false;
                //                    var dialogResult = MessageBox.Show("Install OpenRPA and most common packages?", "First run", MessageBoxButton.YesNo);
                //                    if (dialogResult == MessageBoxResult.Yes)
                //                    {
                //                        this.Dispatcher.Invoke(() =>
                //                        {
                //                            listPackages.IsEnabled = false;
                //                            listPackages.SelectedValue = null;
                //                        });
                //                        try
                //                        {
                //                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA").FirstOrDefault());
                //                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.IE").FirstOrDefault());
                //                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.NM").FirstOrDefault());
                //                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.Java").FirstOrDefault());
                //                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.Forms").FirstOrDefault());
                //                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.Script").FirstOrDefault());
                //                            if (IsOfficeInstalled())
                //                            {
                //                                await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.Office").FirstOrDefault());
                //                            }
                //                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.AviRecorder").FirstOrDefault());
                //                            await InstallPackageAsync(packages.Where(x => x.Id == "OpenRPA.FileWatcher").FirstOrDefault());
                //                        }
                //                        catch (Exception ex)
                //                        {
                //                            MessageBox.Show(ex.ToString());
                //                        }
                //                        this.Dispatcher.Invoke(() =>
                //                        {
                //                            listPackages.IsEnabled = true;
                //                            ButtonLaunch(null, null);
                //                        });
                //                    }
                //                } else if(FirstRun) {
                //                    FirstRun = false;
                //                    int UpgradeCount = Packages.Where(x => x.canUpgrade).Count();
                //                    bool hasUpgrades = (UpgradeCount > 0);
                //                    if (hasUpgrades)
                //                    {
                //                        var dialogResult = MessageBox.Show(UpgradeCount + " packages has updates, update all ?", "Upgrades available", MessageBoxButton.YesNo);
                //                        if (dialogResult == MessageBoxResult.Yes)
                //                        {
                //                            ButtonUpdateAllClick(null, null);
                //                        }
                //                        else
                //                        {
                //                            this.Dispatcher.Invoke(() =>
                //                            {
                //                                ButtonUpdateAll.IsEnabled = true;
                //                            });

                //                        }
                //                    }

                //                }
            });
        }
コード例 #29
0
        private void OnProductInstallerStatusUpdated(object sender, InstallStatusEventArgs e)
        {
            var installerContext = e.InstallerContext;
            InstalledProduct product;

            var msDeployPackage = e.InstallerContext.Installer.MSDeployPackage;

            if (!Packages.TryGetValue(installerContext.ProductName, out product))
            {
                product = new InstalledProduct
                {
                    Name      = installerContext.ProductName,
                    ProductId = installerContext.Id
                };
                Packages.Add(installerContext.ProductName, product);
            }

            if (msDeployPackage != null)
            {
                product.IsWebSite  = true;
                product.Parameters = msDeployPackage.SetParameters;
                product.Site       = msDeployPackage.Site;
                product.AppPath    = msDeployPackage.AppPath;

                if (installerContext.InstallationState == InstallationState.Installing && !_iisDefaultsApplied)
                {
                    ConfigureAppPoolDefaults();
                    _iisDefaultsApplied = true;
                }
            }

            product.Message = installerContext.InstallStateDetails;
            product.Status  = installerContext.ReturnCode.Status == InstallReturnCodeStatus.None
                ? installerContext.InstallationState.ToString()
                : installerContext.ReturnCode.Status.ToString();

            switch (e.InstallerContext.ReturnCode.Status)
            {
            case InstallReturnCodeStatus.Success:
                break;

            case InstallReturnCodeStatus.SuccessRebootRequired:
                product.RequiresReboot = true;
                break;

            case InstallReturnCodeStatus.Failure:
                product.HasError = true;
                IsError          = true;
                if (string.IsNullOrWhiteSpace(e.InstallerContext.ReturnCode.DetailedInformation))
                {
                    product.Message = e.InstallerContext.ReturnCode.DetailedInformation;
                    Log.Error(product.ProductId + ": " + product.Message);
                }
                else
                {
                    Log.Error(product.ProductId + ": " + "Error reason could not be determined");
                }
                break;

            case InstallReturnCodeStatus.FailureRebootRequired:
                product.RequiresReboot = true;
                product.HasError       = true;
                IsError = true;
                if (string.IsNullOrWhiteSpace(e.InstallerContext.ReturnCode.DetailedInformation))
                {
                    product.Message = e.InstallerContext.ReturnCode.DetailedInformation;
                    Log.Error(product.ProductId + ": " + product.Message);
                }
                else
                {
                    Log.Error(product.ProductId + ": " + "Error reason could not be determined");
                }
                break;

            case InstallReturnCodeStatus.None:
                break;
            }

            if (ProductInstallerStatusUpdated != null)
            {
                ProductInstallerStatusUpdated(sender, e);
            }
        }
コード例 #30
0
 public void AddPackage(Package pkg)
 {
     Packages.Add(pkg);
 }