internal bool TryParse(ResolutionResult resolutionResult, AddinResolution addin, out bool enabled, out AddinHeaderResolution result)
        {
            result = new AddinHeaderResolution {
                AddinId = new AddinId()
            };

            try
            {
                enabled              = Enabled == null ? true : bool.Parse(Enabled);
                result.AddinId.Guid  = new Guid(Guid);
                result.AddinCategory = AddinCategory == null ? Core.AddinCategory.User : (AddinCategory)Enum.Parse(typeof(AddinCategory), AddinCategory);
                result.Version       = Version == null ? _defaultVersion : new Version(Version);
                result.CompatVersion = CompatVersion == null ? _defaultVersion : new Version(CompatVersion);
            }
            catch (Exception e)
            {
                enabled = false;
                resolutionResult.AddError(string.Format("An exception is thrown while parsing the addin [{0}]! Error: [{1}]", Name, e.Message));
                return(false);
                //throw new AccessViolationException(e.Message);
            }

            result.Name        = Name;
            result.Description = Description;
            //result.Url = Url;
            result.InnerProperties = Properties;
            return(true);
        }
Beispiel #2
0
 static AddinHeaderRecord ToPersistentObject(AddinHeaderResolution item)
 {
     if (item.AddinId.Uid == UidStorage.InvalidAddinUid)
     {
         item.AddinId.Uid = UidStorage.GetNextAddinUid();
     }
     return(new AddinHeaderRecord
     {
         AddinId = item.AddinId,
         AddinCategory = item.AddinCategory,
         CompatVersion = item.CompatVersion,
         Version = item.Version,
         //Enabled = item.Enabled,
         Name = item.Name,
         //Url = item.Url,
         Description = item.Description,
         InnerProperties = item.InnerProperties
     });
 }
 internal bool TryParse(IMessageDialog dialog, AddinResolution addin, out AddinHeaderResolution result)
 {
     result = new AddinHeaderResolution {
         AddinId = new AddinId()
     };
     try
     {
         result.AddinId.Guid  = new Guid(Guid);
         result.AddinCategory = AddinCategory == null ? Core.AddinCategory.User : (AddinCategory)Enum.Parse(typeof(AddinCategory), AddinCategory);
         result.Enabled       = Enabled == null ? true : bool.Parse(Enabled);
         result.Version       = Version == null ? _defaultVersion : new Version(Version);
         result.CompatVersion = CompatVersion == null ? _defaultVersion : new Version(CompatVersion);
         result.FriendName    = FriendName;
         result.Url           = Url;
         result.Properties    = Properties;
         result.Description   = Description;
         return(true);
     }
     catch (Exception e)
     {
         dialog.AddError(e.Message);
         return(false);
     }
 }