public void Edit(Topic topic, string ip, User user) { topic.User = user; topic.ValidateFields(); var htmlInputConfig = SiteConfiguration.Current.SpamPrevention.HtmlInput; if (!(user.Role >= htmlInputConfig.AvoidValidationForRole)) { topic.Description = topic.Description.SafeHtml(htmlInputConfig.FixErrors, htmlInputConfig.AllowedElements); } topic.Description = topic.Description.ReplaceValues(SiteConfiguration.Current.Replacements); _dataAccess.Edit(topic, ip); _searchIndex.Update(topic); }
public void Create(Topic topic, string ip, User user) { topic.User = user; topic.ValidateFields(); var htmlInputConfig = SiteConfiguration.Current.SpamPrevention.HtmlInput; if (!(user.Role > htmlInputConfig.AvoidValidationForRole)) { topic.Description = topic.Description.SafeHtml(htmlInputConfig.FixErrors, htmlInputConfig.AllowedElements); } topic.Description = topic.Description.ReplaceValues(SiteConfiguration.Current.Replacements); _dataAccess.Add(topic, ip); try { _searchIndex.Add(topic); } catch (Exception e) { _loggerService.LogError(e); } }