/// <summary> /// Gets the shared discussions with latest posts. /// </summary> /// <returns></returns> public List <DiscussionViewModel> GetSharedDiscussionsWithLatestPosts() { List <DiscussionViewModel> models = new List <DiscussionViewModel>(); try { //Get shared discussions List <Discussion> discussionList = DiscussionManager.GetSharedDiscussionsWithLatestPosts(); if (discussionList.Count > 0) { foreach (Discussion obj in discussionList) { if (obj.LatestPostId != null) { obj.LatestPost = PostManager.GetTopicById((int)obj.LatestPostId); } } } models = ObjectMapper.Map <Model.Entities.Discussion, DiscussionViewModel>(discussionList); return(models); } catch (Exception ex) { ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing); } return(models); }
private DataCacheInternal createCacheInternal( InternalCacheUpdater cacheUpdater, string hostname, IHostProperties hostProperties, User user, SearchQueryCollection queryCollection, IModificationNotifier modificationNotifier, INetworkOperationStatusListener networkOperationStatusListener, bool isApprovalStatusSupported) { MergeRequestManager mergeRequestManager = new MergeRequestManager( _cacheContext, cacheUpdater, hostname, hostProperties, queryCollection, networkOperationStatusListener, isApprovalStatusSupported); DiscussionManager discussionManager = new DiscussionManager( _cacheContext, hostname, hostProperties, user, mergeRequestManager, modificationNotifier, networkOperationStatusListener); TimeTrackingManager timeTrackingManager = new TimeTrackingManager( hostname, hostProperties, user, discussionManager, modificationNotifier, networkOperationStatusListener); ProjectCache projectCache = null; if (_cacheContext.SupportProjectCache) { IProjectListLoader loader = new ProjectListLoader(hostname, _operator); projectCache = new ProjectCache(loader, _cacheContext, hostname); } UserCache userCache = null; if (_cacheContext.SupportUserCache) { IUserListLoader userListLoader = new UserListLoader(hostname, _operator); userCache = new UserCache(userListLoader, _cacheContext, hostname); } return(new DataCacheInternal(mergeRequestManager, discussionManager, timeTrackingManager, projectCache, userCache)); }
protected void Button1_Click(object sender, EventArgs e) { if (Session["user_name"] != null) { try { discussion dis = new discussion(); dis.user_id = int.Parse(Session["user_id"].ToString()); dis.dis_cont = myEditor.InnerText; dis.dis_title = title.Text.Trim(); dis.pub_time = DateTime.Now; int result = DiscussionManager.InsertDiscussion(dis); if (result >= 1) { Page.ClientScript.RegisterStartupScript(this.GetType(), "true", "<script>alert('讨论贴发表成功!');</script>"); } } catch { Page.ClientScript.RegisterStartupScript(this.GetType(), "true", "<script>alert('发布失败!请仔细检查');</script>"); } } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "true", "<script>alert('请登录之后再发帖!'); </script>"); Response.Redirect("login1.aspx"); } }
private void UpdateLatestPostForDiscussion(int topicId, int latestTopicPostId) { Topic topic = TopicManager.FindBy(topicId); Discussion discussion = DiscussionManager.FindBy(topic.DiscussionId); discussion.LatestPostId = latestTopicPostId; DiscussionManager.Update(discussion); }
public void BindUsers() { DataTable dt = DiscussionManager.SelectPubNum(); if (dt != null && dt.Rows.Count > 0) { ReUsers.DataSource = dt; ReUsers.DataBind(); } }
public DiscussController( IDataRepository <User> _UserManager, IDataRepository <Discussion> _DiscussionManager, IDataRepository <DiscussionUser> _DiscussionUserManager, IDataRepository <DiscussionUserMessage> _DiscussionUserMessageManager) { this._UserManager = (UserManager)_UserManager; this._DiscussionManager = (DiscussionManager)_DiscussionManager; this._DiscussionUserManager = (DiscussionUserManager)_DiscussionUserManager; this._DiscussionUserMessageManager = (DiscussionUserMessageManager)_DiscussionUserMessageManager; }
public ChatHub( IDataRepository <User> _UserManager, IDataRepository <Discussion> _DiscussionManager, IDataRepository <DiscussionUser> _DiscussionUserManager, IDataRepository <DiscussionUserMessage> _DiscussionUserMessageManager) { this._UserManager = (UserManager)_UserManager; this._DiscussionManager = (DiscussionManager)_DiscussionManager; this._DiscussionUserManager = (DiscussionUserManager)_DiscussionUserManager; this._DiscussionUserMessageManager = (DiscussionUserMessageManager)_DiscussionUserMessageManager; }
public void BindDiscussion() { //int discussion = int.Parse(Request.QueryString["id"]); DataTable dt = DiscussionManager.SelectAll(); if (dt != null && dt.Rows.Count > 0) { LVDiscussion.DataSource = dt; LVDiscussion.DataBind(); } }
public void BindDiscussion() { int id = Convert.ToInt32(Request.QueryString["id"]); DataTable dt = DiscussionManager.SelectDiscussion(id); if (dt != null && dt.Rows.Count > 0) { LVdis_de.DataSource = dt; LVdis_de.DataBind(); } }
private static void submitDiscussion(Snapshot snapshot, DiffToolInfo diffToolInfo, DiffPosition position, string body, bool includeContext) { if (body.Length == 0) { MessageBox.Show("Discussion text cannot be empty", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } NewDiscussionParameters parameters = new NewDiscussionParameters { Body = body, Position = includeContext ? createPositionParameters(position) : new Nullable <PositionParameters>() }; MergeRequestDescriptor mergeRequestDescriptor = new MergeRequestDescriptor { HostName = snapshot.Host, ProjectName = snapshot.Project, IId = snapshot.MergeRequestIId }; UserDefinedSettings settings = new UserDefinedSettings(false); DiscussionManager manager = new DiscussionManager(settings); DiscussionCreator creator = manager.GetDiscussionCreator(mergeRequestDescriptor); try { creator.CreateDiscussionAsync(parameters).Wait(); } catch (DiscussionCreatorException ex) { Trace.TraceInformation( "Additional information about exception:\n" + "Position: {0}\n" + "Include context: {1}\n" + "Snapshot refs: {2}\n" + "DiffToolInfo: {3}\n" + "Body:\n{4}", position.ToString(), includeContext.ToString(), snapshot.Refs.ToString(), diffToolInfo.ToString(), body); if (!ex.Handled) { throw; } } }
/// <summary> /// Throws: /// ArgumentException /// </summary> internal DiscussionsForm(MergeRequestDescriptor mrd, string mrTitle, User mergeRequestAuthor, IGitRepository gitRepository, int diffContextDepth, ColorScheme colorScheme, List <Discussion> discussions, DiscussionManager manager, User currentUser, Func <MergeRequestDescriptor, Task> updateGitRepository) { _mergeRequestDescriptor = mrd; _mergeRequestTitle = mrTitle; _mergeRequestAuthor = mergeRequestAuthor; _gitRepository = gitRepository; _diffContextDepth = diffContextDepth; _colorScheme = colorScheme; _manager = manager; _updateGitRepository = updateGitRepository; _currentUser = currentUser; if (_currentUser.Id == 0) { throw new ArgumentException("Bad user Id"); } InitializeComponent(); DiscussionFilterState state = new DiscussionFilterState { ByCurrentUserOnly = false, ByAnswers = FilterByAnswers.Answered | FilterByAnswers.Unanswered, ByResolution = FilterByResolution.Resolved | FilterByResolution.NotResolved }; DisplayFilter = new DiscussionFilter(_currentUser, _mergeRequestAuthor, state); SystemFilter = new DiscussionFilter(_currentUser, _mergeRequestAuthor, state); FilterPanel = new DiscussionFilterPanel(DisplayFilter.Filter, () => { DisplayFilter.Filter = FilterPanel.Filter; updateLayout(null); }); ActionsPanel = new DiscussionActionsPanel(async() => await onRefresh()); Controls.Add(FilterPanel); Controls.Add(ActionsPanel); if (!renderDiscussions(discussions)) { throw new NoDiscussionsToShow(); } }
/// <summary> /// /// </summary> /// <param name="discussionViewModel"></param> /// <returns></returns> public DiscussionViewModel CreateDiscussion(DiscussionViewModel discussionViewModel) { DiscussionViewModel model = new DiscussionViewModel(); try { Discussion discussion = ObjectMapper.Map <DiscussionViewModel, Discussion>(discussionViewModel); discussion = DiscussionManager.Add(discussion); model = ObjectMapper.Map <Discussion, DiscussionViewModel>(discussion); } catch (Exception ex) { ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing); } return(model); }
private DataCacheInternal createCacheInternal( InternalCacheUpdater cacheUpdater, string hostname, IHostProperties hostProperties, User user, DataCacheConnectionContext context) { MergeRequestManager mergeRequestManager = new MergeRequestManager( _dataCacheContext, cacheUpdater, hostname, hostProperties, context, _modificationNotifier); DiscussionManager discussionManager = new DiscussionManager( _dataCacheContext, hostname, hostProperties, user, mergeRequestManager, context, _modificationNotifier); TimeTrackingManager timeTrackingManager = new TimeTrackingManager( hostname, hostProperties, user, discussionManager, _modificationNotifier); IProjectListLoader loader = ProjectListLoaderFactory.CreateProjectListLoader( hostname, _operator, context, cacheUpdater); ProjectCache projectCache = new ProjectCache(cacheUpdater, loader, _dataCacheContext); return(new DataCacheInternal(mergeRequestManager, discussionManager, timeTrackingManager, projectCache)); }