/// <summary> /// Create a new topic and also the topic starter post /// </summary> /// <param name="topic"></param> /// <returns></returns> public Topic Add(Topic topic) { topic = SanitizeTopic(topic); topic.CreateDate = DateTime.UtcNow; // url slug generator topic.Slug = AppHelpers.GenerateSlug(topic.Name, GetTopicBySlugUrls(AppHelpers.CreateUrl(topic.Name)), null); return(ContextPerRequest.Db.Topic.Add(topic)); }
private static void MemberServiceSaved(IMemberService sender, SaveEventArgs <IMember> e) { var mService = new Services.MemberService(); foreach (var entity in e.SavedEntities) { if (entity.HasProperty(AppConstants.PropMemberEmail)) { entity.SetValue(AppConstants.PropMemberEmail, entity.Email); string previousSlug = null; if (entity.Properties[AppConstants.PropMemberSlug].Value != null) { previousSlug = entity.Properties[AppConstants.PropMemberSlug].Value.ToString(); } entity.SetValue(AppConstants.PropMemberSlug, AppHelpers.GenerateSlug(entity.Username, mService.GetMembersWithSameSlug(AppHelpers.CreateUrl(entity.Username)), previousSlug)); sender.Save(entity, false); } } }