/// <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); }
//forum groups public static ForumGroupModel ToModel(this ForumGroup entity) { return entity.MapTo<ForumGroup, ForumGroupModel>(); }
public static ForumGroup ToEntity(this ForumGroupModel model, ForumGroup destination) { return(model.MapTo(destination)); }
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)); }
/// <summary> /// Updates the forum group /// </summary> /// <param name="forumGroup">Forum group</param> public void UpdateForumGroup(ForumGroup forumGroup) { _forumService.UpdateForumGroup(forumGroup); }
public bool GetUserForumGroupAccess(User user, ForumGroup forumGroup) { var acl = this.LoadForumGroupACL(forumGroup.ForumGroupID, "VIEW"); return(this.GetUserAccess(user, acl)); }
/// <summary> /// Deletes a forum group /// </summary> /// <param name="forumGroup">Forum group</param> public void DeleteForumGroup(ForumGroup forumGroup) { _forumService.DeleteForumGroup(forumGroup); }
/// <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); }
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 }); } } }
public HttpResponseMessage Edit(ForumGroup item) { _forumGroupManager.Update(item); return(new HttpResponseMessage(HttpStatusCode.OK)); }
public HttpResponseMessage Add(ForumGroup item) { _forumGroupManager.Add(item); return(new HttpResponseMessage(HttpStatusCode.OK)); }
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; } }