public IConfigurable Read <T>(ObjectId identity) where T : IConfigurable, new()
        {
            RmsTemplateIdentity rmsTemplateIdentity = identity as RmsTemplateIdentity;

            if (rmsTemplateIdentity == null)
            {
                throw new ArgumentNullException("identity");
            }
            IConfigurable result;

            try
            {
                RmsClientManager.ADSession = this.adSession;
                foreach (RmsTemplate rmsTemplate in this.AcquireRmsTemplates())
                {
                    if (rmsTemplate.Id == rmsTemplateIdentity.TemplateId)
                    {
                        return(new RmsTemplatePresentation(rmsTemplate));
                    }
                }
                result = null;
            }
            finally
            {
                RmsClientManager.ADSession = null;
            }
            return(result);
        }
Example #2
0
 public static RmsTemplateIdentity Redact(RmsTemplateIdentity value, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (value == null)
     {
         return(null);
     }
     return(new RmsTemplateIdentity(value.TemplateId, SuppressingPiiData.Redact(value.TemplateName, out raw, out redacted), value.Type));
 }
        // Token: 0x06000B72 RID: 2930 RVA: 0x000245D0 File Offset: 0x000227D0
        public RmsTemplateIdParameter(RmsTemplatePresentation template)
        {
            if (template == null)
            {
                throw new ArgumentNullException("template");
            }
            RmsTemplateIdentity rmsTemplateIdentity = (RmsTemplateIdentity)template.Identity;

            this.rawIdentity  = rmsTemplateIdentity.ToString();
            this.templateId   = rmsTemplateIdentity.TemplateId;
            this.templateName = template.Name;
        }
        // Token: 0x06000B7C RID: 2940 RVA: 0x0002470C File Offset: 0x0002290C
        void IIdentityParameter.Initialize(ObjectId objectId)
        {
            RmsTemplateIdentity rmsTemplateIdentity = objectId as RmsTemplateIdentity;

            if (rmsTemplateIdentity == null)
            {
                throw new ArgumentException(Strings.ErrorInvalidParameterType("objectId", typeof(RmsTemplateIdentity).Name), "objectId");
            }
            this.rawIdentity  = rmsTemplateIdentity.ToString();
            this.templateName = rmsTemplateIdentity.TemplateName;
            this.templateId   = rmsTemplateIdentity.TemplateId;
        }
Example #5
0
        protected override void InternalValidate()
        {
            base.InternalValidate();
            TransportRule dataObject = this.DataObject;

            if (dataObject == null)
            {
                ExAssert.RetailAssert(false, "EnableTransportRule.InternalValidate data object is invalid");
            }
            TransportRule rule  = (TransportRule)TransportRuleParser.Instance.GetRule(dataObject.Xml);
            Rule          rule2 = Rule.CreateFromInternalRule(TransportRulePredicate.GetAvailablePredicateMappings(), TransportRuleAction.GetAvailableActionMappings(), rule, dataObject.Priority, dataObject);
            IEnumerable <RightsProtectMessageAction> source = (from action in rule2.Actions
                                                               where action is RightsProtectMessageAction
                                                               select action as RightsProtectMessageAction).ToList <RightsProtectMessageAction>();

            if (source.Any <RightsProtectMessageAction>())
            {
                if (!RmsClientManager.IRMConfig.IsInternalLicensingEnabledForTenant(base.CurrentOrganizationId))
                {
                    base.WriteError(new IrmLicensingIsDisabledException(), ErrorCategory.InvalidArgument, null);
                }
                RmsTemplateIdentity     template = source.First <RightsProtectMessageAction>().Template;
                RmsTemplateDataProvider session  = new RmsTemplateDataProvider((IConfigurationSession)base.DataSession);
                base.GetDataObject <RmsTemplatePresentation>(new RmsTemplateIdParameter(template), session, null, new LocalizedString?(Strings.OutlookProtectionRuleRmsTemplateNotFound(template.TemplateName)), new LocalizedString?(Strings.OutlookProtectionRuleRmsTemplateNotUnique(template.TemplateName)));
            }
            bool flag;

            if (!rule2.Actions.Any((TransportRuleAction action) => action is ApplyOMEAction))
            {
                flag = rule2.Actions.Any((TransportRuleAction action) => action is RemoveOMEAction);
            }
            else
            {
                flag = true;
            }
            bool flag2 = flag;

            if (flag2)
            {
                IRMConfiguration irmconfiguration = IRMConfiguration.Read((IConfigurationSession)base.DataSession);
                if (irmconfiguration == null || !irmconfiguration.InternalLicensingEnabled)
                {
                    base.WriteError(new E4eLicensingIsDisabledExceptionEnableRule(), ErrorCategory.InvalidArgument, null);
                }
                if (RmsClientManager.IRMConfig.GetRmsTemplate(base.CurrentOrganizationId, RmsTemplate.InternetConfidential.Id) == null)
                {
                    base.WriteError(new E4eRuleRmsTemplateNotFoundException(RmsTemplate.InternetConfidential.Name), ErrorCategory.InvalidArgument, null);
                }
            }
        }