Пример #1
0
        public ActionResult GetListofForums(string parent)
        {
            try
            {
                var forumsList = ForumService.GetListofForums(parent);

                var output = ConvertToForumDetailsListModel(forumsList);

                var forum = new ForumsDetailsModel();
                if (null == parent)
                    forum.IsRoot = true;

                forum.SubForums.AddRange(output);

                if (parent == null) return View("SingleForum", forum);

                forum = null;
                var names = parent.ForumSplit();
                foreach (var item in names)
                {
                    forum = (forum == null) ? output.FirstOrDefault(x => x.DisplayName == item) : forum.SubForums.FirstOrDefault(x => x.DisplayName == item);
                }

                if (forum == null) return View("SingleForum", null);

                var postForums = new ForumsDetails() { FolderPath = forum.ForumFullPath.StartWithSlash(), LibraryName = forum.ForumFullPath };

                if (ForumService.IsForumExist(postForums))
                {
                    var topicResult = CreateList(ForumService.GetForumsList(postForums));
                    forum.Topic.AddRange(topicResult);
                    forum.IsSPFolder = true;
                }

                foreach (var subforums in forum.SubForums)
                {
                    var topics = new ForumsDetails() { FolderPath = subforums.ForumFullPath.StartWithSlash(), LibraryName = subforums.ForumFullPath };
                    if (ForumService.IsForumExist(topics))
                        subforums.TopicCount = ForumService.GetTopicCount(subforums.ForumFullPath);
                }

                return View("SingleForum", forum);
            }
            catch (Exception ex) { throw ex; }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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
        }
Пример #5
0
        public void CreateTopicForForums(ForumsDetails forumsObj, ForumsDetailsModel toForumsDetailsModel)
        {
            foreach (var forums in forumsObj.Topic)
            {
                var subForumsTopicObj = ConvertToForumDetailsModel(forums);

                if (forums.Topic.Count > 0)
                    CreateSubForums(forums, subForumsTopicObj);

                toForumsDetailsModel.Topic.Add(subForumsTopicObj);
            }
        }
Пример #6
0
        public void CreateReply(ForumsDetails forumsObj, ForumsDetailsModel toForumsDetailsModel)
        {
            //This is used to fill Subforum model object
            foreach (var forums in forumsObj.SubForums)
            {
                var subForumsObj = ConvertToForumDetailsModel(forums);

                if (forums.SubForums.Count > 0)
                    CreateSubForums(forums, subForumsObj);

                toForumsDetailsModel.SubForums.Add(subForumsObj);
            }

            //This is used to fill Topics model object which is added for forum
            foreach (var forums in forumsObj.Topic)
            {
                var forumTopicObj = ConvertToForumDetailsModel(forums);

                if (forums.Topic.Count > 0)
                    CreateTopicForForums(forums, forumTopicObj);

                toForumsDetailsModel.Topic.Add(forumTopicObj);
            }

            //This is used to fill Reply model object which is added for topic
            foreach (var forums in forumsObj.Children)
            {
                var subReplyObj = ConvertToForumDetailsModel(forums);

                if (forums.Children.Count > 0)
                    CreateReply(forums, subReplyObj);

                toForumsDetailsModel.Children.Add(subReplyObj);
            }
        }