Exemplo n.º 1
0
        private void ButtonSubmit_Click(object sender, EventArgs e)
        {
            using (var lDataContext = new IssueTrackerDataContext())
            {
                var lIssue = new Issue();
                lIssue.ProjectId           = this.Project.Id;
                lIssue.Title               = this.mTextBoxTitle.Text;
                lIssue.Body                = this.mTextPreviewViewBody.Text;
                lIssue.CreationDateTime    = DateTime.UtcNow;
                lIssue.LastUpdatedDateTime = DateTime.UtcNow;
                lIssue.OpenedByUser        = lDataContext.CurrentUser;
                lIssue.IsOpen              = true;
                lDataContext.Issues.InsertOnSubmit(lIssue);

                foreach (var lLabel in this.mSelectedLabels)
                {
                    var lIssueLabel = new IssueLabel();
                    lIssueLabel.Issue   = lIssue;
                    lIssueLabel.LabelId = lLabel.Id;

                    lDataContext.IssueLabels.InsertOnSubmit(lIssueLabel);
                }

                lDataContext.SubmitChanges();

                this.IssueCreated.Fire(this, ReadOnlyValueEventArgs.Create(lIssue));
            }
        }
Exemplo n.º 2
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            using (var lDataContext = new IssueTrackerDataContext())
            {
                this.mListBoxLabels.Items.AddRange(lDataContext.Labels.OrderBy(x => x.Name).ToArray());
            }
        }
Exemplo n.º 3
0
        private void ButtonUpdate_Click(object sender, EventArgs e)
        {
            using (var lDataContext = new IssueTrackerDataContext())
            {
                this.Issue = lDataContext.Issues.Single(x => x.Id == this.Issue.Id);
                this.Issue.LastUpdatedDateTime = DateTime.UtcNow;
                this.Issue.Title = this.mTextBoxTitle.Text;
                this.Issue.Body  = this.mTextPreviewViewBody.Text;
                lDataContext.SubmitChanges();
            }

            this.mLabelTitle.Text   = this.Issue.Title;
            this.mHtmlPanel.Text    = MarkdownHelper.TranslateWithStyle(this.Issue.Body);
            this.mHtmlPanel.Visible = true;
        }
Exemplo n.º 4
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            this.RootControlHost = new SelectProjectView();
            this.ControlHosts.Push(this.RootControlHost);
            this.ShowControlHost(this.RootControlHost);

            using (var lDataContext = new IssueTrackerDataContext())
            {
                var lProjects = lDataContext.Projects.ToArray();

                this.mListBoxProjects.Items.AddRange(lProjects);
                this.mListBoxProjects.Items.Add("Create New Project...");
            }
        }
Exemplo n.º 5
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            using (var lDataContext = new IssueTrackerDataContext())
            {
                this.Issue = lDataContext.Issues.Single(x => x.Id == this.Issue.Id);

                this.mLabelAuthor.Text       = this.Issue.OpenedByUser.FullName;
                this.mLabelAuthorFooter.Text = "opened this issue " + (DateTime.UtcNow - this.Issue.CreationDateTime).ToRelativePastTimeString();
                this.mLabelTitle.Text        = this.Issue.Title;
                this.mLabelAssignedUser.Text = this.Issue.AssignedUser.Get(x => x.FullName, string.Empty);
                this.mLabelMilestone.Text    = this.Issue.Milestone.Get(x => x.Title, string.Empty);
                this.mHtmlPanel.Text         = MarkdownHelper.TranslateWithStyle(this.Issue.Body);

                this.mListBoxLabels.Items.AddRange(
                    this.Issue.IssueLabels.Select(x => x.Label).OrderBy(x => x.Name).ToArray());
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// When the create button is clicked, we inform the world to commit changes.
        /// </summary>
        private void ButtonCreate_Click(object sender, EventArgs e)
        {
            var lProject = new Project();

            lProject.Name             = this.mTextBoxTitle.Name;
            lProject.Description      = this.mTextPreviewViewBody.Text;
            lProject.CreationDateTIme = DateTime.UtcNow;

            using (var lDataContext = new IssueTrackerDataContext())
            {
                var lProjectUser = new ProjectUser();
                lProjectUser.Project = lProject;
                lProjectUser.User    = lDataContext.CurrentUser;

                lDataContext.Projects.InsertOnSubmit(lProject);
                lDataContext.ProjectUsers.InsertOnSubmit(lProjectUser);

                lDataContext.SubmitChanges();
            }

            this.ProjectCreated.Fire(this, ReadOnlyValueEventArgs.Create(lProject));
        }
Exemplo n.º 7
0
        private void RefreshIssues()
        {
            using (var lDataContext = new IssueTrackerDataContext())
            {
                var lProjectIssues = lDataContext.Issues
                                     .Where(x => x.ProjectId == this.Project.Id);

                if (!string.IsNullOrWhiteSpace(this.mTextBoxSearch.Text))
                {
                    lProjectIssues = lProjectIssues
                                     .Where(x => x.Title.Contains(this.mTextBoxSearch.Text));
                }

                switch (this.SelectedFilter)
                {
                case IssueFilter.AssignedToCurrentUser:
                    lProjectIssues = lProjectIssues
                                     .Where(x => x.AssignedUser == lDataContext.CurrentUser);
                    break;

                case IssueFilter.CreatedByCurrentUser:
                    lProjectIssues = lProjectIssues
                                     .Where(x => x.OpenedByUser == lDataContext.CurrentUser);
                    break;
                }

                var lOpenIssues = lProjectIssues.Where(x => x.IsOpen).ToArray();
                this.mTabPageOpenIssues.Text = string.Format("{0} open issue{1}", lOpenIssues.Length, (lOpenIssues.Length == 1) ? string.Empty : "s");
                this.mListBoxOpenIssues.Items.Clear();
                this.mListBoxOpenIssues.Items.AddRange(lOpenIssues);

                var lClosedIssues = lProjectIssues.Where(x => !x.IsOpen).ToArray();
                this.mTabPageClosedIssues.Text = string.Format("{0} closed issue{1}", lClosedIssues.Length, (lClosedIssues.Length == 1) ? string.Empty : "s");
                this.mListBoxClosedIssues.Items.Clear();
                this.mListBoxClosedIssues.Items.AddRange(lClosedIssues);
            }
        }
Exemplo n.º 8
0
 public EmployeesController(IssueTrackerDataContext context, IMapper mapper, MapperConfiguration config)
 {
     _context = context;
     _mapper  = mapper;
     _config  = config;
 }