public Subscription GetSubscriptions(Subscription subscription) { var predicateGroup = new PredicateGroup { Operator = GroupOperator.And, Predicates = new List<IPredicate>() }; predicateGroup.Predicates.Add(Predicates.Field<Subscription>(f => f.IsActive, Operator.Eq, true)); predicateGroup.Predicates.Add(Predicates.Field<Subscription>(f => f.IsDeleted, Operator.Eq, false)); predicateGroup.Predicates.Add(Predicates.Field<Subscription>(f => f.EmployeeName, Operator.Eq, subscription.EmployeeName)); predicateGroup.Predicates.Add(Predicates.Field<Subscription>(f => f.ForumName, Operator.Eq, subscription.ForumName)); return SqlHelper.Find<Subscription>(predicateGroup); }
public bool UnsubscribeAllSubscriptions(Subscription subscription) { var resultSubscriptions = SqlHelper.GetAll<Subscription>() .Where(x => x.IsActive && !x.IsDeleted && x.ForumName == subscription.ForumName && x.EmployeeEmail == subscription.EmployeeEmail).ToList(); foreach (var item in resultSubscriptions) { item.IsActive = false; item.IsDeleted = true; UpdateSubscription(item); } return true; }
public bool InsertSubscription(Subscription subscription) { return SqlHelper.Insert(subscription); }
public bool UpdateSubscription(Subscription subscription) { return SqlHelper.Update(subscription); }
public bool UnsubscribeAllSubscriptions(Subscription subscription) { return ForumSubscriptionDao.UnsubscribeAllSubscriptions(subscription); }
public Subscription GetSubscriptions(Subscription subscription) { return ForumSubscriptionDao.GetSubscriptions(subscription); }
public bool UpdateSubscription(Subscription subscription) { return ForumSubscriptionDao.UpdateSubscription(subscription); }
public bool InsertSubscription(Subscription subscription) { return ForumSubscriptionDao.InsertSubscription(subscription); }
private void RemoveChildForums(ForumsDetailsModel forums) { var account = new AccountInfo(); SetFullNameAndEmail(); foreach (var forumItem in forums.SubForums) { var subscriptionModel = new Subscription() { CreatedBy = account.GetFullName(), EmployeeName = account.GetUserName(), //User.Identity.Name.Replace("\\", "/"), ForumName = forumItem.ForumFullPath, IsActive = true, IsDeleted = false, IsSubscribed = true, }; subscriptionModel = ForumSubscriptionService.GetSubscriptions(subscriptionModel); if (subscriptionModel != null) { subscriptionModel.IsActive = false; subscriptionModel.IsDeleted = true; ForumSubscriptionService.UpdateSubscription(subscriptionModel); } if (forumItem.SubForums.Count > 0) RemoveChildForums(forumItem); } }
private void WriteChildForums(ForumsDetailsModel forums, string email) { var account = new AccountInfo(); SetFullNameAndEmail(); foreach (var forumItem in forums.SubForums) { var subscriptionModel = new Subscription() { CreatedBy = account.GetFullName(), EmployeeEmail = account.GetEmailAddress(), EmployeeName = account.GetUserName(), //User.Identity.Name.Replace("\\", "/"), ForumName = forumItem.ForumFullPath, IsActive = true, IsDeleted = false, IsSubscribed = true, CreatedDate = DateTime.Now }; ForumSubscriptionService.InsertSubscription(subscriptionModel); if (forumItem.SubForums.Count > 0) WriteChildForums(forumItem, email); } }
private void WriteUpdateSubscription(string forumName, string email, string isSubscribed, bool subscribeParentOnly) { var account = new AccountInfo(); SetFullNameAndEmail(); #region Subscription database writing if (isSubscribed == "True") { var output = ConvertToForumDetailsListModel(ForumService.GetListofForums(forumName)); var forum = new ForumsDetailsModel(); forum.SubForums.AddRange(output); forum = null; var names = forumName.ForumSplit(); foreach (var item in names) { forum = (forum == null) ? output.FirstOrDefault(x => x.DisplayName == item) : forum.SubForums.FirstOrDefault(x => x.DisplayName == item); } var subscriptionModel = new Subscription() { CreatedBy = account.GetFullName(), EmployeeEmail = account.GetEmailAddress(),//email, EmployeeName = account.GetUserName(), //User.Identity.Name.Replace("\\", "/"), ForumName = forumName, IsActive = true, IsDeleted = false, IsSubscribed = true, CreatedDate = DateTime.Now }; ForumSubscriptionService.InsertSubscription(subscriptionModel); if (!subscribeParentOnly) { foreach (var forumItem in forum.SubForums) { subscriptionModel = new Subscription() { CreatedBy = account.GetFullName(), EmployeeEmail = account.GetEmailAddress(), EmployeeName = account.GetUserName(), //User.Identity.Name.Replace("\\", "/"), ForumName = forumItem.ForumFullPath, IsActive = true, IsDeleted = false, IsSubscribed = true, CreatedDate = DateTime.Now }; ForumSubscriptionService.InsertSubscription(subscriptionModel); WriteChildForums(forumItem, email); } } ForumSubscriptionService.SubscriptionRequestMail(forumName.ForumSplit().ForumJoin(), account.GetEmailAddress(), true); } #endregion #region un-Subscription database writing else if (isSubscribed == "False" && !subscribeParentOnly) { var output = ConvertToForumDetailsListModel(ForumService.GetListofForums(forumName)); var forum = new ForumsDetailsModel(); forum.SubForums.AddRange(output); forum = null; var names = forumName.ForumSplit(); foreach (var item in names) { forum = (forum == null) ? output.FirstOrDefault(x => x.DisplayName == item) : forum.SubForums.FirstOrDefault(x => x.DisplayName == item); } var subscriptionModel = new Subscription() { CreatedBy = account.GetFullName(), EmployeeEmail = account.GetEmailAddress(), EmployeeName = account.GetUserName(), //User.Identity.Name.Replace("\\", "/"), ForumName = forumName, IsActive = true, IsDeleted = false, IsSubscribed = true, }; subscriptionModel = ForumSubscriptionService.GetSubscriptions(subscriptionModel); if (subscriptionModel != null) { subscriptionModel.IsActive = false; subscriptionModel.IsDeleted = true; ForumSubscriptionService.UpdateSubscription(subscriptionModel); } foreach (var forumItem in forum.SubForums) { subscriptionModel = new Subscription() { CreatedBy = account.GetFullName(), EmployeeEmail = account.GetEmailAddress(), EmployeeName = account.GetUserName(), //User.Identity.Name.Replace("\\", "/"), ForumName = forumItem.ForumFullPath, IsActive = true, IsDeleted = false, IsSubscribed = true, }; subscriptionModel = ForumSubscriptionService.GetSubscriptions(subscriptionModel); if (subscriptionModel != null) { subscriptionModel.IsActive = false; subscriptionModel.IsDeleted = true; ForumSubscriptionService.UnsubscribeAllSubscriptions(subscriptionModel); } RemoveChildForums(forumItem); } ForumSubscriptionService.SubscriptionRequestMail(forumName.ForumSplit().ForumJoin(), account.GetEmailAddress(), false); } #endregion }