Esempio n. 1
0
        /// <summary>
        /// Prepare paged forum list model
        /// </summary>
        /// <param name="searchModel">Forum search model</param>
        /// <param name="forumGroup">Forum group</param>
        /// <returns>Forum list model</returns>
        public virtual ForumListModel PrepareForumListModel(ForumSearchModel searchModel, ForumGroup forumGroup)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            if (forumGroup == null)
            {
                throw new ArgumentNullException(nameof(forumGroup));
            }

            //get forums
            var forums = forumGroup.Forums;

            //prepare list model
            var model = new ForumListModel
            {
                Data = forums.PaginationByRequestModel(searchModel).Select(forum =>
                {
                    //fill in model values from the entity
                    var forumModel = forum.ToModel <ForumModel>();

                    //convert dates to the user time
                    forumModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(forum.CreatedOnUtc, DateTimeKind.Utc);

                    return(forumModel);
                }),
                Total = forums.Count
            };

            return(model);
        }
Esempio n. 2
0
 //forum groups
 public static ForumGroupModel ToModel(this ForumGroup entity)
 {
     return entity.MapTo<ForumGroup, ForumGroupModel>();
 }
Esempio n. 3
0
 public static ForumGroup ToEntity(this ForumGroupModel model, ForumGroup destination)
 {
     return(model.MapTo(destination));
 }
Esempio n. 4
0
        public void Can_save_and_load_forumtopic()
        {
            var customer       = GetTestCustomer();
            var customerFromDb = SaveAndLoadEntity(customer);

            customerFromDb.ShouldNotBeNull();

            var forumGroup = new ForumGroup
            {
                Name         = "Forum Group 1",
                Description  = "Forum Group 1 Description",
                DisplayOrder = 1,
                CreatedOnUtc = DateTime.UtcNow,
                UpdatedOnUtc = DateTime.UtcNow
            };

            var forumGroupFromDb = SaveAndLoadEntity(forumGroup);

            forumGroupFromDb.ShouldNotBeNull();
            forumGroupFromDb.Name.ShouldEqual("Forum Group 1");
            forumGroupFromDb.Description.ShouldEqual("Forum Group 1 Description");
            forumGroupFromDb.DisplayOrder.ShouldEqual(1);

            var forum = new Forum
            {
                ForumGroup   = forumGroupFromDb,
                Name         = "Forum 1",
                Description  = "Forum 1 Description",
                ForumGroupId = forumGroupFromDb.Id,
                DisplayOrder = 10,
                CreatedOnUtc = DateTime.UtcNow,
                UpdatedOnUtc = DateTime.UtcNow,
                NumPosts     = 25,
                NumTopics    = 15
            };

            forumGroup.Forums.Add(forum);
            var forumFromDb = SaveAndLoadEntity(forum);

            forumFromDb.ShouldNotBeNull();
            forumFromDb.Name.ShouldEqual("Forum 1");
            forumFromDb.Description.ShouldEqual("Forum 1 Description");
            forumFromDb.DisplayOrder.ShouldEqual(10);
            forumFromDb.NumTopics.ShouldEqual(15);
            forumFromDb.NumPosts.ShouldEqual(25);
            forumFromDb.ForumGroupId.ShouldEqual(forumGroupFromDb.Id);

            var forumTopic = new ForumTopic
            {
                Subject      = "Forum Topic 1",
                Forum        = forumFromDb,
                ForumId      = forumFromDb.Id,
                TopicTypeId  = (int)ForumTopicType.Sticky,
                Views        = 123,
                CreatedOnUtc = DateTime.UtcNow,
                UpdatedOnUtc = DateTime.UtcNow,
                NumPosts     = 100,
                CustomerId   = customerFromDb.Id,
            };

            var forumTopicFromDb = SaveAndLoadEntity(forumTopic);

            forumTopicFromDb.ShouldNotBeNull();
            forumTopicFromDb.Subject.ShouldEqual("Forum Topic 1");
            forumTopicFromDb.Views.ShouldEqual(123);
            forumTopicFromDb.NumPosts.ShouldEqual(100);
            forumTopicFromDb.TopicTypeId.ShouldEqual((int)ForumTopicType.Sticky);
            forumTopicFromDb.ForumId.ShouldEqual(forumFromDb.Id);
        }
 //forum groups
 public static ForumGroupModel ToModel(this ForumGroup entity)
 {
     return(Mapper.Map <ForumGroup, ForumGroupModel>(entity));
 }
 public static ForumGroup ToEntity(this ForumGroupModel model, ForumGroup destination)
 {
     return(Mapper.Map(model, destination));
 }
Esempio n. 7
0
 /// <summary>
 /// Updates the forum group
 /// </summary>
 /// <param name="forumGroup">Forum group</param>
 public void UpdateForumGroup(ForumGroup forumGroup)
 {
     _forumService.UpdateForumGroup(forumGroup);
 }
Esempio n. 8
0
        public bool GetUserForumGroupAccess(User user, ForumGroup forumGroup)
        {
            var acl = this.LoadForumGroupACL(forumGroup.ForumGroupID, "VIEW");

            return(this.GetUserAccess(user, acl));
        }
Esempio n. 9
0
 /// <summary>
 /// Deletes a forum group
 /// </summary>
 /// <param name="forumGroup">Forum group</param>
 public void DeleteForumGroup(ForumGroup forumGroup)
 {
     _forumService.DeleteForumGroup(forumGroup);
 }
Esempio n. 10
0
 /// <summary>
 /// Inserts a forum group
 /// </summary>
 /// <param name="forumGroup">Forum group</param>
 public void InsertForumGroup(ForumGroup forumGroup)
 {
     _forumService.InsertForumGroup(forumGroup);
 }
        public void Delete(ForumGroup item)
        {
            var entity = _mapper.Map <Domain.Forums.ForumGroupEntity>(item);

            _forumGroupRepository.Delete(entity);
        }
Esempio n. 12
0
        public ActionResult SaveGroup(int id = 0, string name = "", string description = "")
        {
            try {
                if (name.Length == 0) throw new Exception("Name is required.");
                CurtDevDataContext db = new CurtDevDataContext();
                if (id == 0) {
                    ForumGroup f = new ForumGroup {
                        name = name,
                        description = description,
                        createdDate = DateTime.Now,
                    };
                    db.ForumGroups.InsertOnSubmit(f);
                } else {
                    ForumGroup f = db.ForumGroups.Where(x => x.forumGroupID == id).First<ForumGroup>();
                    f.name = name;
                    f.description = description;
                }
                db.SubmitChanges();
                return RedirectToAction("index");

            } catch (Exception e) {
                TempData["error"] = e.Message;
                TempData["name"] = name;
                TempData["description"] = description;
                if (id == 0) {
                    return RedirectToAction("AddGroup");
                } else {
                    return RedirectToAction("EditGroup", new { id = id });
                }
            }
        }
Esempio n. 13
0
 public HttpResponseMessage Edit(ForumGroup item)
 {
     _forumGroupManager.Update(item);
     return(new HttpResponseMessage(HttpStatusCode.OK));
 }
Esempio n. 14
0
 public HttpResponseMessage Add(ForumGroup item)
 {
     _forumGroupManager.Add(item);
     return(new HttpResponseMessage(HttpStatusCode.OK));
 }
Esempio n. 15
0
        public void GetForumGroup()
        {
            int    forumGroupID   = ProviderBase.Framework.Utility.GetFormValue <int>("ID", 0);
            string templatePrefix = ProviderBase.Framework.Utility.GetFormValue <string>("TemplatePrefix", "");
            string templateName   = "ForumGroupRepeat.htm";
            string templateFinal  = "";

            if (string.IsNullOrEmpty(templatePrefix))
            {
                templatePrefix = this.Website.WebsiteTemplatePrefix;
            }

            if (forumGroupID > 0)
            {
                ForumGroup forumGroupItem = null;

                forumGroupItem = DataProvider.SelectSingleFull(new ForumGroup()
                {
                    ForumGroupID = forumGroupID
                }, this.Website.WebsiteConnection.ConnectionString);

                if (forumGroupItem?.ForumGroupID > 0)
                {
                    ForumGroupUserRoleLink forumGroupUserRoleLink = null;

                    forumGroupUserRoleLink = ProviderBase.Data.Providers.DataProvider.SelectSingleUsingDefault <ForumGroupUserRoleLink>(new ForumGroupUserRoleLink()
                    {
                        UserRoleTypeID = this.User.UserRoleTypeID,
                        ForumGroupID   = forumGroupItem.ForumGroupID
                    }, this.Website.WebsiteConnection.ConnectionString, "UserRoleTypeID", "ForumGroupID");

                    if (forumGroupUserRoleLink?.UserRoleLevelID > 0)
                    {
                        TemplateFile templateFileTemp = null;

                        templateFileTemp = new TemplateFile(templatePrefix + templateName, this.Website.WebsiteTemplateFolder);

                        templateFileTemp.BindTemplateFileContentRepeat(forumGroupItem);

                        foreach (ForumArea forumAreaItem in forumGroupItem.ThreadAreaList)
                        {
                            int topicCount = 0;
                            int postCount  = 0;
                            ForumThreadMessage forumThreadMessageNewest = null;
                            CharacterUser      characterUserNewestForumThreadMessage = null;

                            topicCount = DataProvider.SelectCount <ForumArea, ForumThread>(forumAreaItem, this.Website.WebsiteConnection.ConnectionString);
                            postCount  = DataProvider.SelectCount <ForumArea, ForumThreadMessage>(forumAreaItem, this.Website.WebsiteConnection.ConnectionString);

                            forumThreadMessageNewest = DataProvider.SelectNewest <ForumArea, ForumThreadMessage>(forumAreaItem, this.Website.WebsiteConnection.ConnectionString);

                            characterUserNewestForumThreadMessage = DataProvider.SelectSingleFull <CharacterUser>(new CharacterUser()
                            {
                                CharacterUserID = forumThreadMessageNewest.CharacterUserID
                            }, this.Website.WebsiteConnection.ConnectionString);

                            templateFileTemp.BindTemplateFileContentRepeatItem(new List <object>()
                            {
                                forumAreaItem, forumThreadMessageNewest, characterUserNewestForumThreadMessage
                            });

                            templateFileTemp.BindTemplateFileContentRepeatItemSingle("$FORUMTHREADCOUNT$", topicCount);
                            templateFileTemp.BindTemplateFileContentRepeatItemSingle("$FORUMTHREADMESSAGECOUNT$", postCount);
                        }

                        templateFinal += templateFileTemp.TemplateFinalise(this.User);

                        this.AjaxResult.Data.Add(templateFinal);
                        this.AjaxResult.Message = "Get forum group success";
                        this.AjaxResult.Status  = AjaxResultStatus.Success;
                    }
                    else
                    {
                        this.AjaxResult.Redirect = Utility.GetRedirect(this.Context, RedirectReason.InvalidPermission);
                        this.AjaxResult.Status   = AjaxResultStatus.Redirect;
                    }
                }
                else
                {
                    this.AjaxResult.Message = "No forum group found";
                    this.AjaxResult.Status  = AjaxResultStatus.Failed;
                }
            }
            else
            {
                this.AjaxResult.Message = "No forum group ID supplied";
                this.AjaxResult.Status  = AjaxResultStatus.Failed;
            }
        }