public static ProcessTemplateDO TestProcessTemplateWithSubscribeEvent()
        {
            ProcessTemplateDO processTemplateDO;

            using (var uow = ObjectFactory.GetInstance <IUnitOfWork>())
            {
                DockyardAccountDO testUser = TestDockyardAccount1();
                uow.UserRepository.Add(testUser);

                processTemplateDO = new ProcessTemplateDO()
                {
                    Id                   = 23,
                    Description          = "HealthDemo Integration Test",
                    Name                 = "StandardEventTesting",
                    ProcessTemplateState = ProcessTemplateState.Active,
                    DockyardAccount      = testUser
                };
                uow.ProcessTemplateRepository.Add(processTemplateDO);

                var actionTemplate = ActionTemplate();

                var processDo = new ContainerDO()
                {
                    Id                = 1,
                    CrateStorage      = EnvelopeIdCrateJson(),
                    ProcessTemplateId = processTemplateDO.Id,
                    ContainerState    = 1
                };
                uow.ContainerRepository.Add(processDo);



                ProcessNodeTemplateDO processNodeTemplateDO = new ProcessNodeTemplateDO()
                {
                    ParentActivity = processTemplateDO,
                    StartingProcessNodeTemplate = true
                };
                uow.ProcessNodeTemplateRepository.Add(processNodeTemplateDO);
                processTemplateDO.Activities = new List <ActivityDO> {
                    processNodeTemplateDO
                };
                processTemplateDO.StartingProcessNodeTemplate = processNodeTemplateDO;


                var actionDo = new ActionDO()
                {
                    ParentActivity   = processTemplateDO,
                    ParentActivityId = processTemplateDO.Id,
                    ActionState      = ActionState.Unstarted,
                    Name             = "testaction",

                    Id = 1,
                    ActivityTemplateId = actionTemplate.Id,
                    ActivityTemplate   = actionTemplate,
                    Ordering           = 1
                };
                ICrate crate = ObjectFactory.GetInstance <ICrate>();

                var serializer = new JsonSerializer();
                EventSubscriptionCM eventSubscriptionMS = new EventSubscriptionCM();
                eventSubscriptionMS.Subscriptions = new List <string>();
                eventSubscriptionMS.Subscriptions.Add("DocuSign Envelope Sent");
                eventSubscriptionMS.Subscriptions.Add("Write to SQL AZure");

                var eventReportJSON = serializer.Serialize(eventSubscriptionMS);

                CrateDTO crateDTO = crate.Create("Standard Event Subscriptions", eventReportJSON, "Standard Event Subscriptions");
                actionDo.UpdateCrateStorageDTO(new List <CrateDTO>()
                {
                    crateDTO
                });

                uow.ActionRepository.Add(actionDo);
                processNodeTemplateDO.Activities.Add(actionDo);

                uow.SaveChanges();
            }

            return(processTemplateDO);
        }
Example #2
0
 private void AssertList(EventSubscriptionCM control)
 {
     Assert.IsNotNull(control.Subscriptions);
     Assert.IsTrue(control.Subscriptions.Count > 0);
 }
        public static PlanDO TestPlanWithSubscribeEvent()
        {
            PlanDO planDO;

            using (var uow = ObjectFactory.GetInstance <IUnitOfWork>())
            {
                Fr8AccountDO testUser = TestDockyardAccount1();
                uow.UserRepository.Add(testUser);

                planDO = new PlanDO()
                {
                    Id          = GetTestGuidById(23),
                    Description = "HealthDemo Integration Test",
                    Name        = "StandardEventTesting",
                    PlanState   = PlanState.Executing,
                    Fr8Account  = testUser
                };
                uow.PlanRepository.Add(planDO);

                var actionTemplate = ActivityTemplate();

                var containerDO = new ContainerDO()
                {
                    Id     = TestContainer_Id_1(),
                    PlanId = planDO.Id,
                    State  = 1
                };

                using (var crateStorage = ObjectFactory.GetInstance <ICrateManager>().UpdateStorage(() => containerDO.CrateStorage))
                {
                    crateStorage.Add(GetEnvelopeIdCrate());
                }

                uow.ContainerRepository.Add(containerDO);

                uow.ActivityTemplateRepository.Add(actionTemplate);

                SubplanDO subPlaneDO = new SubplanDO()
                {
                    ParentPlanNode  = planDO,
                    StartingSubPlan = true
                };
                planDO.ChildNodes = new List <PlanNodeDO> {
                    subPlaneDO
                };
                planDO.StartingSubplan = subPlaneDO;

                uow.ActivityTemplateRepository.Add(actionTemplate);

                var actionDo = new ActivityDO()
                {
                    ParentPlanNode   = planDO,
                    ParentPlanNodeId = planDO.Id,
                    Id = GetTestGuidById(1),
                    ActivityTemplateId = actionTemplate.Id,
                    ActivityTemplate   = actionTemplate,
                    Ordering           = 1
                };

                ICrateManager crate = ObjectFactory.GetInstance <ICrateManager>();

                var serializer = new JsonSerializer();
                EventSubscriptionCM eventSubscriptionMS = new EventSubscriptionCM();
                eventSubscriptionMS.Subscriptions = new List <string>();
                eventSubscriptionMS.Subscriptions.Add("DocuSign Envelope Sent");
                eventSubscriptionMS.Subscriptions.Add("Write to SQL AZure");

                using (var crateStorage = ObjectFactory.GetInstance <ICrateManager>().GetUpdatableStorage(actionDo))
                {
                    crateStorage.Add(Crate.FromContent("Standard Event Subscriptions", eventSubscriptionMS));
                }

                subPlaneDO.ChildNodes.Add(actionDo);

                uow.SaveChanges();
            }

            return(planDO);
        }