Пример #1
0
        public static IRule CreateRule(string line)
        {
            IPRule ipRule = null;

            if (IPRule.CreateIPRule(line, out ipRule))
            {
                return(ipRule);
            }

            HostRule hostRule = null;

            if (HostRule.CreateHostnameRule(line, out hostRule))
            {
                return(hostRule);
            }

            return(null);
        }
Пример #2
0
        private string GetLicenseSummary(ILicense license)
        {
            StringBuilder retVal = new StringBuilder();

            retVal.AppendFormat("<b>Id: {0}</b><br />", license.Identifier);
            retVal.AppendFormat("<b>Created: {0}</b><br />", license.CreatedDate);
            retVal.AppendFormat("<b>Filename: {0}</b><br /><br />", license.Filename);
            int policynumber = 1;

            retVal.Append("<table>");
            foreach (IPolicy ip in license.Policies.Where(p => p.GetType() == typeof(ADNSFPolicy)))
            {
                ADNSFPolicy     aip   = ip as ADNSFPolicy;
                String          token = string.Empty;
                TokenPermission tp    = aip.PermissionSet.Permissions.FirstOrDefault(p => p.GetType() == typeof(TokenPermission)) as TokenPermission;
                if (tp != null)
                {
                    token = string.Join(" ", tp.Tokens);
                }

                retVal.Append("<tr><td><b>Policy " + policynumber++ + "</b></td><td><b>" + token + "</b></td></tr>");
                retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Resource:", aip.ResourceIdentifier);

                foreach (IRule ir in ip.RuleSet.Rules.Where(r => r.GetType() == typeof(HostRule)))
                {
                    HostRule hr = ir as HostRule;
                    retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", CommonLogic.IIF(hr.Domains.Count() > 1, "Valid Hosts:", "Valid Host:"), String.Join("; ", hr.Domains) + ";");
                }

                foreach (IRule ir in ip.RuleSet.Rules.Where(r => r.GetType() == typeof(LicenseRule)))
                {
                    LicenseRule lr = ir as LicenseRule;
                    retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Required License Filename:", lr.RequiredFileName);
                }

                foreach (IRule ir in ip.RuleSet.Rules.Where(r => r.GetType() == typeof(TimePeriodRule)))
                {
                    TimePeriodRule tpr = ir as TimePeriodRule;
                    retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Start Date:", tpr.BeginDate.ToShortDateString());
                    retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "End Date:", tpr.EndDate.ToShortDateString());
                }

                foreach (IRule ir in ip.RuleSet.Rules.Where(r => r.GetType() == typeof(EnvironmentRule)))
                {
                    EnvironmentRule er = ir as EnvironmentRule;
                    if (!String.IsNullOrEmpty(er.MachineName))
                    {
                        retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Required Machine Name:", er.MachineName);
                    }
                    if (!String.IsNullOrEmpty(er.OSVersion))
                    {
                        retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Required OS Version:", er.OSVersion);
                    }
                    if (!String.IsNullOrEmpty(er.PlatformVersion))
                    {
                        retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Required Platform Version:", er.PlatformVersion);
                    }
                    if (er.ProcessorCount > 0)
                    {
                        retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Required Processor Count:", er.ProcessorCount);
                    }
                }

                foreach (IRule ir in ip.RuleSet.Rules.Where(r => r.GetType() == typeof(ADNSFLimitsRule)))
                {
                    ADNSFLimitsRule lr = ir as ADNSFLimitsRule;
                    if (lr.CategoryLimit > 0)
                    {
                        retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Category Limit:", lr.CategoryLimit);
                    }
                    if (lr.CustomerLimit > 0)
                    {
                        retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Customer Limit:", lr.CustomerLimit);
                    }
                    if (lr.OrderLimit > 0)
                    {
                        retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Order Limit:", lr.OrderLimit);
                    }
                    if (lr.ProductLimit > 0)
                    {
                        retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Product Limit:", lr.ProductLimit);
                    }
                    if (lr.SectionLimit > 0)
                    {
                        retVal.AppendFormat("<tr><td align=\"right\">{0}</td><td>{1}</td></tr>", "Section Limit:", lr.SectionLimit);
                    }
                }
            }
            retVal.Append("</table>");
            retVal.AppendLine("<br /><br />");
            return(retVal.ToString());
        }