예제 #1
0
        private void OnPolicyAdded(CertPolicy policyGroup)
        {
            CertPolicyGroupMap map = new CertPolicyGroupMap(true);

            map.CertPolicyGroup = this;
            map.CertPolicy      = policyGroup;
        }
예제 #2
0
파일: CertPolicy.cs 프로젝트: DM-TOR/nhin-d
 public CertPolicy(CertPolicy policy) : this()
 {
     ID = policy.ID;
     Name = policy.Name;
     Description = policy.Description;
     Lexicon = policy.Lexicon;
     Data = policy.Data;
 }
예제 #3
0
 public CertPolicy(CertPolicy policy) : this()
 {
     ID          = policy.ID;
     Name        = policy.Name;
     Description = policy.Description;
     Lexicon     = policy.Lexicon;
     Data        = policy.Data;
 }
예제 #4
0
        private void OnPolicyRemoved(CertPolicy policy)
        {
            CertPolicyGroupMap map =
                CertPolicyGroupMaps.SingleOrDefault(pg => pg.CertPolicyGroup == this && pg.CertPolicy == policy);

            //CertPolicyGroupMap map =
            //    CertPolicyGroupMap.SingleOrDefault(pg => pg.CertPolicy == policy);
            if (map != null)
            {
                map.Remove();
            }
        }
예제 #5
0
        public void Remove( )
        {
            ConfigDatabase.RemoveAssociativeRecord(this);

            CertPolicy originalCertPolicy = CertPolicy;

            originalCertPolicy.CertPolicyGroupMap.Remove(this);

            CertPolicyGroup originalCertPolicyGroup = CertPolicyGroup;

            originalCertPolicyGroup.CertPolicyGroupMaps.Remove(this);
        }
예제 #6
0
 public Boolean IsValidLexicon(CertPolicy policy)
 {
     try
     {
         //might get parser from policy.Lexicon in the future
         var parser = new SimpleTextV1LexiconPolicyParser();
         parser.Parse(policy.Data.ToMemoryStream());
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
예제 #7
0
 public Boolean IsValidLexicon(CertPolicy policy)
 {
     try
     {
         //might get parser from policy.Lexicon in the future
         var parser = new SimpleTextV1LexiconPolicyParser();
         parser.Parse(policy.Data.ToMemoryStream());
         return true;
     }
     catch (Exception)
     {
         return false;
     }
     
 }
예제 #8
0
        public static void Add(this ICollection <CertPolicy> policies, CertPolicy policy, CertPolicyGroupMap certPolicyGroupMap)
        {
            policies.Add(policy);

            // Find the new map and add Use attributes
            foreach (var certPolicy in policies)
            {
                foreach (var policyGroupMap in certPolicy.CertPolicyGroupMap)
                {
                    if (policyGroupMap.CertPolicy.ID == certPolicyGroupMap.CertPolicy.ID &&
                        policyGroupMap.CertPolicyGroup.ID == certPolicyGroupMap.CertPolicyGroup.ID)
                    {
                        policyGroupMap.Use         = certPolicyGroupMap.Use;
                        policyGroupMap.ForIncoming = certPolicyGroupMap.ForIncoming;
                        policyGroupMap.ForOutgoing = certPolicyGroupMap.ForOutgoing;
                        return;
                    }
                }
            }
        }
예제 #9
0
        protected void AddPolicyUse(ConfigDatabase db, string policyName, string groupName, CertPolicyUse policyUse, bool incoming, bool outgoing)
        {
            if (db == null)
            {
                throw new ArgumentNullException("db");
            }
            if (String.IsNullOrEmpty(policyName))
            {
                throw new ConfigStoreException(ConfigStoreError.InvalidCertPolicyName);
            }
            if (String.IsNullOrEmpty(groupName))
            {
                throw new ConfigStoreException(ConfigStoreError.InvalidCertPolicyGroupName);
            }
            CertPolicyGroup group  = db.CertPolicyGroups.Get(groupName);
            CertPolicy      policy = db.CertPolicyGroups.GetPolicy(policyName);

            group.CertPolicies.Add(policy);
            CertPolicyGroupMap map = group.CertPolicyGroupMaps.First(m => m.IsNew);

            map.Use         = policyUse;
            map.ForIncoming = incoming;
            map.ForOutgoing = outgoing;
        }
예제 #10
0
파일: CertPolicy.cs 프로젝트: DM-TOR/nhin-d
 internal void ApplyChanges(CertPolicy source)
 {
     this.Description = source.Description;
     this.Data = source.Data;
     this.Lexicon = source.Lexicon;
 }
예제 #11
0
파일: CertPolicy.cs 프로젝트: DM-TOR/nhin-d
 internal void CopyFixed(CertPolicy source)
 {
     this.ID = source.ID;
     this.CreateDate = source.CreateDate;
     this.Name = source.Name;
 }
예제 #12
0
 public static void Add(this ICollection<CertPolicy> policies, CertPolicy policy, CertPolicyGroupMap certPolicyGroupMap)
 {
     policies.Add(policy);
     
     // Find the new map and add Use attributes
     foreach (var certPolicy in policies)
     {
         foreach (var policyGroupMap in certPolicy.CertPolicyGroupMap)
         {
             if (policyGroupMap.CertPolicy.ID == certPolicyGroupMap.CertPolicy.ID
                 && policyGroupMap.CertPolicyGroup.ID == certPolicyGroupMap.CertPolicyGroup.ID)
             {
                 policyGroupMap.Use = certPolicyGroupMap.Use;
                 policyGroupMap.ForIncoming = certPolicyGroupMap.ForIncoming;
                 policyGroupMap.ForOutgoing = certPolicyGroupMap.ForOutgoing;
                 return;
             }
         }
     }
 }
예제 #13
0
 private void OnPolicyRemoved(CertPolicy policy)
 {
     CertPolicyGroupMap map =
         CertPolicyGroupMaps.SingleOrDefault(pg => pg.CertPolicyGroup == this && pg.CertPolicy == policy);
     //CertPolicyGroupMap map =
     //    CertPolicyGroupMap.SingleOrDefault(pg => pg.CertPolicy == policy);
     if (map != null)
     {
         map.Remove();
     }
 }
예제 #14
0
 public void UpdatePolicyAttributes(CertPolicy policy)
 {
     try
     {
         Store.CertPolicies.Update(policy);
     }
     catch (Exception ex)
     {
         throw CreateFault("UpdatePolicyAttributes", ex);
     }
 }
예제 #15
0
 internal void ApplyChanges(CertPolicy source)
 {
     this.Description = source.Description;
     this.Data        = source.Data;
     this.Lexicon     = source.Lexicon;
 }
예제 #16
0
 internal void CopyFixed(CertPolicy source)
 {
     this.ID         = source.ID;
     this.CreateDate = source.CreateDate;
     this.Name       = source.Name;
 }
예제 #17
0
        private void OnPolicyAdded(CertPolicy policyGroup)
        {
            CertPolicyGroupMap map = new CertPolicyGroupMap(true);
            map.CertPolicyGroup = this;
            map.CertPolicy = policyGroup;

        }
예제 #18
0
 public CertPolicy AddPolicy(CertPolicy policy)
 {
     try
     {
         CertPolicy certPolicy = new CertPolicy(policy);
         return Store.CertPolicies.Add(certPolicy);
     }
     catch (Exception ex)
     {
         throw CreateFault("AddPolicy", ex);
     }
 }