public override async Task FollowUp()
        {
            var selectedObject    = ActivityUI.AvailableObjects.Value;
            var hasSelectedObject = !string.IsNullOrEmpty(selectedObject);

            var properties = new List <FieldDTO>();

            if (hasSelectedObject)
            {
                Guid selectedObjectId;
                if (Guid.TryParse(ActivityUI.AvailableObjects.Value, out selectedObjectId))
                {
                    using (var uow = _container.GetInstance <IUnitOfWork>())
                    {
                        properties = MTTypesHelper.GetFieldsByTypeId(uow, selectedObjectId, AvailabilityType.RunTime).ToList();
                        Storage.ReplaceByLabel(
                            Crate.FromContent("Queryable Criteria", new FieldDescriptionsCM(properties)));
                    }
                }
            }

            ActivityUI.QueryBuilder.IsHidden      = !hasSelectedObject;
            ActivityUI.SelectObjectLabel.IsHidden = hasSelectedObject;
            if (!string.IsNullOrEmpty(selectedObject))
            {
                using (var uow = _container.GetInstance <IUnitOfWork>())
                {
                    CrateSignaller.MarkAvailableAtRuntime <StandardTableDataCM>(RunTimeCrateLabel).AddFields(properties);
                }
            }

            await Task.Yield();
        }
 private void LoadAvailableFr8ObjectNames(string fr8ObjectID)
 {
     using (var uow = _container.GetInstance <IUnitOfWork>())
     {
         var designTimeQueryFields = MTTypesHelper.GetFieldsByTypeId(uow, Guid.Parse(fr8ObjectID));
         var criteria = Storage.FirstOrDefault(d => d.Label == "Queryable Criteria");
         if (criteria != null)
         {
             Storage.Remove(criteria);
         }
         Storage.Add(Crate.FromContent("Queryable Criteria", new FieldDescriptionsCM(designTimeQueryFields)));
     }
 }
示例#3
0
        public override Task FollowUp()
        {
            var config = new ActivityUi();

            config.ClonePropertiesFrom(ConfigurationControls);
            Guid selectedObjectId;

            Storage.RemoveByLabel("Queryable Criteria");
            if (Guid.TryParse(config.AvailableObjects.Value, out selectedObjectId))
            {
                using (var uow = _container.GetInstance <IUnitOfWork>())
                {
                    // crateStorage.Add(CrateManager.CreateDesignTimeFieldsCrate("Queryable Criteria", GetFieldsByTypeId(selectedObjectId).ToArray()));
                    Storage.Add(
                        Crate.FromContent("Queryable Criteria",
                                          new FieldDescriptionsCM(MTTypesHelper.GetFieldsByTypeId(uow, selectedObjectId))
                                          )
                        );
                }
            }
            return(Task.FromResult(0));
        }
        private async Task SetQueryFr8WarehouseActivityFields(ActivityPayload queryFr8Warehouse, string recipientEmail)
        {
            //update action's duration value
            var crateStorage     = queryFr8Warehouse.CrateStorage;
            var configControlCM  = ActivityConfigurator.GetConfigurationControls(queryFr8Warehouse);
            var radioButtonGroup = (configControlCM.Controls.First() as RadioButtonGroup);

            radioButtonGroup.Radios[0].Selected = false;
            radioButtonGroup.Radios[1].Selected = true;
            var             objectList = (DropDownList)(radioButtonGroup.Radios[1].Controls.FirstOrDefault(c => c.Name == "AvailableObjects"));
            MtTypeReference selectedObject;

            if (string.IsNullOrEmpty(recipientEmail))
            {
                selectedObject = GetMtType(typeof(DocuSignEnvelopeCM_v2));
            }
            else
            {
                selectedObject = GetMtType(typeof(DocuSignRecipientStatus));
            }

            if (selectedObject == null)
            {
                return;
            }

            objectList.Value       = selectedObject.Id.ToString("N");
            objectList.selectedKey = selectedObject.Alias;

            var filterPane = (FilterPane)radioButtonGroup.Radios[1].Controls.First(c => c.Name == "Filter");

            var conditions = new List <FilterConditionDTO>
            {
                new FilterConditionDTO {
                    Field = "EnvelopeId", Operator = "eq", Value = "FromPayload"
                }
            };

            if (recipientEmail != null)
            {
                conditions.Add(new FilterConditionDTO {
                    Field = "Email", Operator = "eq", Value = recipientEmail
                });
            }

            filterPane.Value = JsonConvert.SerializeObject(new FilterDataDTO
            {
                ExecutionType = FilterExecutionType.WithFilter,
                Conditions    = conditions
            });

            using (var uow = _container.GetInstance <IUnitOfWork>())
            {
                var queryCriteria = Crate.FromContent("Queryable Criteria", new FieldDescriptionsCM(MTTypesHelper.GetFieldsByTypeId(uow, selectedObject.Id)));
                crateStorage.Add(queryCriteria);
            }
        }