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); }
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); }
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); }
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); }