Beispiel #1
0
        /// <summary>
        /// Handles the Click event of the btnPreview control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        protected void btnPreview_Click(object sender, EventArgs e)
        {
            // Clean-up UI
            gPreview.Visible     = true;
            ltImportResults.Text = string.Empty;

            RockContext rockContext         = new RockContext();
            var         workflowTypeService = new WorkflowTypeService(rockContext);
            var         workflowType        = workflowTypeService.Get(wtpExport.SelectedValueAsId().Value);
            var         coder    = new EntityCoder(new RockContext());
            var         exporter = new WorkflowTypeExporter();

            coder.EnqueueEntity(workflowType, exporter);

            List <PreviewEntity> previewEntities = new List <PreviewEntity>();

            foreach (var qe in coder.Entities)
            {
                string shortType = CodingHelper.GetEntityType(qe.Entity).Name;

                if (shortType == "Attribute" || shortType == "AttributeValue" || shortType == "AttributeQualifier" || shortType == "WorkflowActionFormAttribute")
                {
                    continue;
                }

                var preview = new PreviewEntity
                {
                    Guid       = qe.Entity.Guid,
                    Name       = EntityFriendlyName(qe.Entity),
                    ShortType  = shortType,
                    IsCritical = qe.IsCritical,
                    IsNewGuid  = qe.RequiresNewGuid,
                    Paths      = qe.ReferencePaths.Select(p => p.ToString()).ToList()
                };

                previewEntities.Add(preview);
            }

            ViewState["PreviewEntities"] = previewEntities;

            BindPreviewGrid();
        }