public PackageViewModel(PackageReader reader)
        {
            _reader = reader;
            SourcePackageViewModel=new PackageViewModel()
                                     {
            Name = reader.GetRulesSourcePropertyValueByName(Package, "name"),
            DisplayName = reader.GetRulesSourcePropertyValueByName(Package, "display-name"),
            Architecture = reader.GetRulesSourcePropertyValueByName(Package, "arch"),
            Feed = reader.GetRulesSourcePropertyValueByName(Package, "feed"),
            Location = reader.GetRulesSourcePropertyValueByName(Package, "location"),
            Publisher = reader.GetRulesSourcePropertyValueByName(Package, "publisher"),
            Version = reader.GetRulesSourcePropertyValueByName(Package, "version"),
            IsEditable = true,
            IsSource = true,
                                     };

            Name = reader.GetRulesPropertyValueByName(Package, "name");
            DisplayName = reader.GetRulesPropertyValueByName(Package, "display-name");
            Architecture = reader.GetRulesPropertyValueByName(Package, "arch");
            Feed = reader.GetRulesPropertyValueByName(Package, "feed");
            Location = reader.GetRulesPropertyValueByName(Package, "location");
            Publisher = reader.GetRulesPropertyValueByName(Package, "publisher");
            Version = reader.GetRulesPropertyValueByName(Package, "version");
            IsEditable = false;

            SourceString = reader.GetRulesSourceStringPropertyValueByName(Package);
            SourcePackageViewModel.PropertyChanged += EvaluatedChanged;
        }
        public object CreateInstance(PackageReader reader)
        {
            string package = "package";
            PackageViewModel model=new PackageViewModel(reader)
                                       {

                                           Name = reader.GetRulesPropertyValueByName(package, "name"),
                                           DisplayName = reader.GetRulesPropertyValueByName(package, "display-name"),
                                           Architecture = reader.GetRulesPropertyValueByName(package, "arch"),
                                           Feed = reader.GetRulesPropertyValueByName(package, "feed"),
                                           Location = reader.GetRulesPropertyValueByName(package, "location"),
                                           Publisher = reader.GetRulesPropertyValueByName(package, "publisher"),
                                           Version = reader.GetRulesPropertyValueByName(package, "version")

                                       };
            return model;
        }