Exemplo n.º 1
0
        public AdministrativeActionResult <BannedDomain> CreateBannedDomain(string name)
        {
            AdministrativeActionResult <BannedDomain> result = Validation.Validate <AdministrativeActionResult <BannedDomain> >(() => string.IsNullOrWhiteSpace(name), "name", TextMessages.PrefixCannotBeBlank)
                                                               .Or(() => bannedDomainRepository.IsMatching(name), "prefix", TextMessages.SpecifiedPrefixAlreadyExists.FormatWith(name))
                                                               .Result();

            if (result.RuleViolations.IsEmpty())
            {
                BannedDomain banned = new BannedDomain {
                    Name = name.ToLower(Culture.Current)
                };

                bannedDomainRepository.Add(banned);

                unitOfWork.Commit();

                result = new AdministrativeActionResult <BannedDomain>(banned);
            }

            return(result);
        }
Exemplo n.º 2
0
        public AdministrativeActionResult <ReservedAlias> CreateReservedAlias(string aliasName)
        {
            AdministrativeActionResult <ReservedAlias> result = Validation.Validate <AdministrativeActionResult <ReservedAlias> >(() => string.IsNullOrWhiteSpace(aliasName), "aliasName", TextMessages.AliasCannotBeBlank)
                                                                .Or(() => reservedAliasRepository.IsMatching(aliasName), "aliasName", TextMessages.SpecifiedAliasAlreadyExists.FormatWith(aliasName))
                                                                .Result();

            if (result.RuleViolations.IsEmpty())
            {
                ReservedAlias reserved = new ReservedAlias {
                    Name = aliasName
                };

                reservedAliasRepository.Add(reserved);

                unitOfWork.Commit();

                result = new AdministrativeActionResult <ReservedAlias>(reserved);
            }

            return(result);
        }
Exemplo n.º 3
0
        public AdministrativeActionResult <BadWord> CreateBadWord(string expression)
        {
            AdministrativeActionResult <BadWord> result = Validation.Validate <AdministrativeActionResult <BadWord> >(() => string.IsNullOrWhiteSpace(expression), "expression", TextMessages.ExpressionCannotBeBlank)
                                                          .Or(() => barWordRepository.IsMatching(expression), "expression", TextMessages.SpecifiedExpressionAlreadyExists.FormatWith(expression))
                                                          .Result();

            if (result.RuleViolations.IsEmpty())
            {
                BadWord badWord = new BadWord {
                    Expression = expression
                };

                barWordRepository.Add(badWord);

                unitOfWork.Commit();
                cacheManager.Remove(TextMatchingSpamDetector.CacheKey);

                result = new AdministrativeActionResult <BadWord>(badWord);
            }

            return(result);
        }
Exemplo n.º 4
0
        public AdministrativeActionResult <BannedIPAddress> CreateBannedIPAddress(string ipAddress)
        {
            AdministrativeActionResult <BannedIPAddress> result = Validation.Validate <AdministrativeActionResult <BannedIPAddress> >(() => string.IsNullOrWhiteSpace(ipAddress), "ipAddress", TextMessages.IpAddressCannotBeBlank)
                                                                  .Or(() => !ipAddress.IsIPAddress(), "ipAddress", TextMessages.IpAddressIsNotInValidFormat)
                                                                  .Or(() => bannedIPAddressRepository.IsMatching(ipAddress), "ipAddress", TextMessages.SpecifiedIpAddressAlreadyExists.FormatWith(ipAddress))
                                                                  .Result();

            if (result.RuleViolations.IsEmpty())
            {
                BannedIPAddress banned = new BannedIPAddress {
                    IPAddress = ipAddress
                };

                bannedIPAddressRepository.Add(banned);

                unitOfWork.Commit();

                result = new AdministrativeActionResult <BannedIPAddress>(banned);
            }

            return(result);
        }