コード例 #1
0
        protected void btnComplete_Click(object sender, EventArgs e)
        {
            RockContext          rockContext          = new RockContext();
            ChangeRequestService changeRequestService = new ChangeRequestService(rockContext);
            var changeRequest = changeRequestService.Get(hfChangeId.ValueAsInt());

            changeRequest.ApproverComment = tbApproverComment.Text;

            List <string> errors;

            changeRequest.CompleteChanges(new RockContext(), out errors);

            if (errors.Any())
            {
                nbError.Visible = true;
                nbError.Text    = "<ul>" + string.Join("", errors.Select(ex => string.Format("<li>{0}</li>", ex))) + "</ul>";
            }
            else
            {
                changeRequest.IsComplete      = true;
                changeRequest.ApproverAliasId = CurrentPersonAliasId ?? 0;
                rockContext.SaveChanges();
                changeRequest.LaunchWorkflow(GetAttributeValue("Workflow").AsGuidOrNull());
                NavigateToParentPage();
            }
        }
コード例 #2
0
        protected void btnComplete_Click(object sender, EventArgs e)
        {
            RockContext          rockContext          = new RockContext();
            ChangeRequestService changeRequestService = new ChangeRequestService(rockContext);
            var changeRequest = changeRequestService.Get(hfChangeId.ValueAsInt());

            changeRequest.ApproverComment = tbApproverComment.Text;
            changeRequest.CompleteChanges(rockContext);

            changeRequest.IsComplete      = true;
            changeRequest.ApproverAliasId = CurrentPersonAliasId ?? 0;
            rockContext.SaveChanges();
            changeRequest.LaunchWorkflow(GetAttributeValue("Workflow").AsGuidOrNull());
            NavigateToParentPage();
        }
コード例 #3
0
        private void BindGrid()
        {
            var changeId = hfChangeId.ValueAsInt();

            if (changeId == 0)
            {
                changeId = PageParameter("ChangeRequest").AsInteger();
                hfChangeId.SetValue(changeId);
            }
            RockContext          rockContext          = new RockContext();
            ChangeRequestService changeRequestService = new ChangeRequestService(rockContext);
            ChangeRequest        changeRequest        = changeRequestService.Get(changeId);

            if (changeRequest == null)
            {
                return;
            }

            if (!IsUserAuthorized(Rock.Security.Authorization.EDIT) &&
                (CurrentPerson == null || !CurrentPerson.Aliases.Select(a => a.Id).Contains(changeRequest.RequestorAliasId)))
            {
                this.Visible = false;
                return;
            }

            CheckForBlacklist(changeRequest);

            var link = "";

            if (changeRequest.EntityTypeId == EntityTypeCache.Get(typeof(PersonAlias)).Id)
            {
                PersonAliasService personAliasService = new PersonAliasService(rockContext);
                var personAlias = personAliasService.Get(changeRequest.EntityId);
                if (personAlias != null)
                {
                    link = string.Format("<a href='/Person/{0}' target='_blank' class='btn btn-default btn-sm'><i class='fa fa-user'></i></a>", personAlias.Person.Id);
                }
            }

            lName.Text = string.Format(@"
<h1 class='panel-title'>{0} {1}</h1>
<div class='panel-labels'>
    <span class='label label-default'>
        Requested by: <a href='/Person/{2}' target='_blank'>{3}</a>
    </span>
    <span class='label label-{4}'>
        {5}
    </span>
</div>",
                                       link,
                                       changeRequest.Name,
                                       changeRequest.RequestorAlias.PersonId,
                                       changeRequest.RequestorAlias.Person.FullName,
                                       changeRequest.IsComplete ? "primary" : "success",
                                       changeRequest.IsComplete ? "Complete" : "Active");

            var changeRecords = changeRequest.ChangeRecords.ToList();

            var entity = ChangeRequest.GetEntity(changeRequest.EntityTypeId, changeRequest.EntityId, rockContext);

            foreach (var changeRecord in changeRecords)
            {
                FormatValues(changeRequest.EntityTypeId, entity, changeRecord, rockContext);
            }

            if (changeRecords.Any())
            {
                gRecords.DataSource = changeRecords;
                gRecords.DataBind();
            }
            else
            {
                gRecords.Visible = false;
            }

            if (changeRequest.RequestorComment.IsNotNullOrWhiteSpace())
            {
                ltRequestComments.Visible = true;
                ltRequestComments.Text    = changeRequest.RequestorComment;
            }

            ltApproverComment.Text = changeRequest.ApproverComment;
            tbApproverComment.Text = changeRequest.ApproverComment;

            if (!IsUserAuthorized(Rock.Security.Authorization.EDIT))
            {
                btnComplete.Visible       = false;
                tbApproverComment.Visible = false;
                ltApproverComment.Visible = true;
                (( DataControlField )gRecords.Columns
                 .Cast <DataControlField>()
                 .Where(fld => (fld.HeaderText == "Is Rejected"))
                 .SingleOrDefault()).Visible = false;
            }
        }