public void AddActivityTemplate(Fr8DataDTO dataDTO, ActivityTemplateDTO activityTemplate)
 {
     AddHubCrate(dataDTO, new KeyValueListCM(new KeyValueDTO("ActivityTemplate", JsonConvert.SerializeObject(activityTemplate))),
                 "HealthMonitor_ActivityTemplate",
                 ""
                 );
 }
예제 #2
0
 public static void RegisterActivity(ActivityTemplateDTO activityTemplate, IActivityFactory activityFactory)
 {
     if (!_activityRegistrations.TryAdd(new ActivityRegistrationKey(activityTemplate), activityFactory))
     {
         throw new Exception("Unable to add ActivityRegistration to Dictionary");
     }
 }
 public ActivityRegistrationKey(string name, string version)
 {
     ActivityTemplateDTO = new ActivityTemplateDTO
     {
         Name    = name,
         Version = version
     };
 }
예제 #4
0
        public static IActivityFactory GetValue(ActivityTemplateDTO activityTemplate)
        {
            IActivityFactory factory;

            if (!_activityRegistrations.TryGetValue(new ActivityRegistrationKey(activityTemplate), out factory))
            {
                return(null);
            }
            return(factory);
        }
 public void AddActivityTemplate(ActivityDTO activityDTO, ActivityTemplateDTO activityTemplate)
 {
     AddHubCrate(
         activityDTO,
         new StandardDesignTimeFieldsCM(
             new FieldDTO("ActivityTemplate", JsonConvert.SerializeObject(activityTemplate))
             ),
         "HealthMonitor_ActivityTemplate",
         ""
         );
 }
예제 #6
0
        private async Task <ActivityDTO> AddActivityToPlan(
            Guid authTokenId, PlanDTO plan, ActivityTemplateDTO activityTemplate)
        {
            var createActivityUrl = _baseUrl + "activities/create"
                                    + "?activityTemplateId=" + activityTemplate.Id.ToString()
                                    + "&createPlan=false"
                                    + "&parentNodeId=" + plan.StartingSubPlanId.ToString()
                                    + "&authorizationTokenId=" + authTokenId.ToString()
                                    + "&order=1";

            var monitorActivity = await HttpPostAsync <ActivityDTO>(createActivityUrl, null);

            Assert.IsNotNull(monitorActivity, "Initial Create and Configure of Monitor_Salesforce_Event activity is failed.");

            return(monitorActivity);
        }
        public async Task PushUserNotification(ActivityTemplateDTO activityTemplate, string subject, string message)
        {
            var notificationMsg = new NotificationMessageDTO
            {
                NotificationType = NotificationType.TerminalEvent,
                Subject          = subject,
                Message          = message,
                ActivityName     = activityTemplate.Name,
                ActivityVersion  = activityTemplate.Version,
                TerminalName     = activityTemplate.Terminal.Name,
                TerminalVersion  = activityTemplate.Terminal.Version,
                Collapsed        = false
            };

            await _hubCommunicator.NotifyUser(notificationMsg);
        }
예제 #8
0
        public async Task InitialPlanConfiguration()
        {
            var emptyMonitorPlan = new PlanNoChildrenDTO
            {
                Name        = "MonitorSubmissionTerminalForm",
                Description = "MonitorSubmissionTerminalForm",
                PlanState   = "Active",
                Visibility  = new PlanVisibilityDTO()
                {
                    Hidden = true
                }
            };

            monitorTerminalSubmissions = await _hubCommunicator.CreatePlan(emptyMonitorPlan);

            var activityTemplates = await _hubCommunicator.GetActivityTemplates(null);

            monitorFormResponsesTmpl = GetActivityTemplate(activityTemplates, "Monitor_Form_Responses");
            buildMessageTmpl         = GetActivityTemplate(activityTemplates, "Build_Message");
            saveJiraIssueTmpl        = GetActivityTemplate(activityTemplates, "Save_Jira_Issue");
            publishToSlackTmpl       = GetActivityTemplate(activityTemplates, "Publish_To_Slack", "2");
        }
예제 #9
0
        public static async Task <ActivityPayload> AddAndConfigureChildActivity(this IHubCommunicator that, ActivityPayload parentActivity, ActivityTemplateDTO activityTemplate, string name = null, string label = null, int?order = null)
        {
            var child = await AddAndConfigureChildActivity(that, parentActivity.Id, activityTemplate, name, label, order);

            parentActivity.ChildrenActivities.Add(child);
            return(child);
        }
예제 #10
0
 public static async Task <ActivityPayload> AddAndConfigureChildActivity(this IHubCommunicator that, Guid parentActivityId, ActivityTemplateDTO activityTemplate, string name = null, string label = null, int?order = null)
 {
     //assign missing properties
     label = string.IsNullOrEmpty(label) ? activityTemplate.Label : label;
     name  = string.IsNullOrEmpty(name) ? activityTemplate.Label : label;
     return(await that.CreateAndConfigureActivity(activityTemplate.Id, name, order, parentActivityId));
 }
 /// <summary>
 /// Checks if activity template generates table data
 /// TODO: find a smoother (unified) way for this
 /// </summary>
 /// <returns></returns>
 private bool DoesActivityTemplateGenerateTableData(ActivityTemplateDTO activityTemplate)
 {
     return(activityTemplate.Tags != null && activityTemplate.Tags.Split(',').Any(t => t.ToLowerInvariant().Contains("table")));
 }
예제 #12
0
 public ActivityRegistrationKey(ActivityTemplateDTO activityTemplateDTO)
 {
     ActivityTemplateDTO = activityTemplateDTO;
 }
예제 #13
0
 private async Task <ActivityPayload> CreateConvertCratesActivity(ActivityTemplateDTO template, ActivityPayload parentAction)
 {
     return(await HubCommunicator.CreateAndConfigureActivity(template.Id, "Convert Crates", 2, parentAction.Id));
 }
 public void RegisterActivity <T>(ActivityTemplateDTO activityTemplate) where T : IActivity
 {
 }
 public void RegisterActivity(ActivityTemplateDTO activityTemplate, IActivityFactory activityFactory)
 {
 }
예제 #16
0
 private async Task <ActivityPayload> CreateStoreFileActivity(ActivityTemplateDTO template, ActivityPayload parentAction)
 {
     return(await HubCommunicator.CreateAndConfigureActivity(template.Id, "Store File", 3, parentAction.Id));
 }
예제 #17
0
 /// <summary>
 /// Registers activity with default Activity Factory
 /// </summary>
 /// <typeparam name="T">Type of activity</typeparam>
 /// <param name="activityTemplate"></param>
 public static void RegisterActivity <T>(ActivityTemplateDTO activityTemplate) where T : IActivity
 {
     RegisterActivity(activityTemplate, new DefaultActivityFactory(typeof(T)));
 }
        protected async Task <ActivityPayload> AddAndConfigureChildActivity(ActivityPayload parentActivity, ActivityTemplateDTO activityTemplate, string name = null, string label = null, int?order = null)
        {
            var child = await AddAndConfigureChildActivity(parentActivity.Id, activityTemplate, name, label, order);

            parentActivity.ChildrenActivities.Add(child);
            return(child);
        }
        private void AddHubActivityTemplate(Fr8DataDTO dataDTO)
        {
            var terminal = new TerminalDTO()
            {
                Name               = "terminalDocuSign",
                Label              = "DocuSign",
                TerminalStatus     = TerminalStatus.Active,
                Version            = "1",
                Endpoint           = TerminalUrl,
                AuthenticationType = AuthenticationType.Internal
            };
            var terminalCoreDO = FixtureData.TestTerminal_Core_DTO();

            var docusignEventActionTemplate = new ActivityTemplateDTO()
            {
                Version             = "1",
                Name                = "Monitor_DocuSign_Envelope_Activity",
                Label               = "Monitor DocuSign Envelope Activity",
                Categories          = new[] { ActivityCategories.Monitor },
                Terminal            = terminal,
                NeedsAuthentication = true,
                MinPaneWidth        = 330
            };

            var setDelayActionTemplate = new ActivityTemplateDTO()
            {
                Version             = "1",
                Name                = "Set_Delay",
                Label               = "Delay Action Processing",
                Categories          = new[] { ActivityCategories.Process },
                Terminal            = terminalCoreDO,
                NeedsAuthentication = false,
                MinPaneWidth        = 330
            };

            var testIncomingDataTemplate = new ActivityTemplateDTO()
            {
                Version             = "1",
                Name                = "Test_Incoming_Data",
                Label               = "Test Incoming Data",
                Categories          = new[] { ActivityCategories.Process },
                Terminal            = terminalCoreDO,
                NeedsAuthentication = false
            };

            AddActivityTemplate(
                dataDTO,
                testIncomingDataTemplate
                );

            AddActivityTemplate(
                dataDTO,
                setDelayActionTemplate
                );

            var queryFr8WarehouseActionTemplate = new ActivityTemplateDTO()
            {
                Version             = "1",
                Name                = "Query_Fr8_Warehouse",
                Label               = "Query Fr8 Warehouse",
                Categories          = new[] { ActivityCategories.Process },
                Terminal            = terminalCoreDO,
                NeedsAuthentication = false,
                MinPaneWidth        = 330
            };

            AddActivityTemplate(
                dataDTO,
                queryFr8WarehouseActionTemplate
                );

            AddActivityTemplate(
                dataDTO,
                docusignEventActionTemplate
                );

            AddActivityTemplate(
                dataDTO,
                new ActivityTemplateDTO()
            {
                Id       = Guid.NewGuid(),
                Name     = "Send Email_Via_Send_Grid",
                Label    = "Send Email",
                Tags     = "Notifier",
                Version  = "1",
                Terminal = terminal
            }
                );
        }
예제 #20
0
        private async Task <ActivityPayload> CreateGetDocuSignTemplateActivity(ActivityTemplateDTO template, ActivityPayload parentAction)
        {
            var authTokenId = Guid.Parse(AuthorizationToken.Id);

            return(await HubCommunicator.CreateAndConfigureActivity(template.Id, "Get Docusign Template", 1, parentAction.Id, false, authTokenId));
        }