コード例 #1
0
        //This method returns one crate of the specified Manifest Type from the payload
        public T GetByManifest <T>(PayloadDTO payloadDTO) where T : Manifest
        {
            ICrateStorage curCrateStorage = FromDto(payloadDTO.CrateStorage);
            var           curCrate        = curCrateStorage.CratesOfType <T>().Single().Content;

            return(curCrate);
        }
コード例 #2
0
        public override void SetUp()
        {
            base.SetUp();

            var payload = new PayloadDTO(Guid.Empty);

            using (var storage = CrateManager.GetUpdatableStorage(payload))
            {
                storage.Add(Crate.FromContent(string.Empty, new OperationalStateCM()));
            }

            var userDTO = new UserDTO {
                FirstName = "First Name", LastName = "Last Name"
            };

            var hubCommunicatorMock = new Mock <IHubCommunicator>();

            hubCommunicatorMock.Setup(h => h.GetPayload(It.IsAny <Guid>())).Returns(Task.FromResult(payload));
            hubCommunicatorMock.Setup(h => h.GetCurrentUser()).Returns(Task.FromResult(userDTO));
            ObjectFactory.Container.Inject(hubCommunicatorMock);
            ObjectFactory.Container.Inject(hubCommunicatorMock.Object);

            var emailPackagerMock = new Mock <IEmailPackager>();

            ObjectFactory.Container.Inject(emailPackagerMock.Object);
            ObjectFactory.Container.Inject(emailPackagerMock);
        }
コード例 #3
0
        public static void ConfigureHubToReturnPayloadWithChannelMessageEvent()
        {
            var result = new PayloadDTO(Guid.Empty);

            using (var storage = CrateManager.GetUpdatableStorage(result))
            {
                storage.Add(Crate.FromContent(string.Empty, new OperationalStateCM()));
                var eventReport = new EventReportCM();
                eventReport.EventPayload.Add(Crate.FromContent(string.Empty, new StandardPayloadDataCM(new KeyValueDTO("channel_id", "C001"), new KeyValueDTO("user_name", "notuser"))));
                storage.Add(Crate.FromContent(string.Empty, eventReport));
            }
            ObjectFactory.Container.GetInstance <Mock <IHubCommunicator> >().Setup(x => x.GetPayload(It.IsAny <Guid>()))
            .Returns(Task.FromResult(result));
        }
コード例 #4
0
        public Task <PayloadDTO> Run(IUnitOfWork uow, ActivityDO curActivityDO, ActivityExecutionMode curActionExecutionMode, ContainerDO curContainerDO)
        {
            ActivityMockBase activity;

            var payload = new PayloadDTO(curContainerDO.Id)
            {
                CrateStorage = CrateStorageSerializer.Default.ConvertToDto(CrateStorageSerializer.Default.ConvertFromDto(JsonConvert.DeserializeObject <CrateStorageDTO>(curContainerDO.CrateStorage)))
            };

            ExecutedActivities.Add(new ActivityExecutionCall(curActionExecutionMode, curActivityDO.Id));

            if (CustomActivities.TryGetValue(curActivityDO.Id, out activity))
            {
                activity.Run(curActivityDO.Id, curActionExecutionMode, payload);
            }

            return(Task.FromResult(payload));
        }
コード例 #5
0
        public override void SetUp()
        {
            base.SetUp();

            TerminalBootstrapper.ConfigureTest();
            TerminalSalesforceStructureMapBootstrapper.ConfigureDependencies(TerminalSalesforceStructureMapBootstrapper.DependencyType.TEST);

            PayloadDTO testPayloadDTO = new PayloadDTO(new Guid());

            ObjectFactory.Configure(x => x.For <ICrateManager>().Use(CrateManager));
            using (var crateStorage = CrateManager.GetUpdatableStorage(testPayloadDTO))
            {
                crateStorage.Add(Crate.FromContent("Operational Status", new OperationalStateCM()));
            }

            Mock <IHubCommunicator> hubCommunicatorMock = new Mock <IHubCommunicator>(MockBehavior.Default);

            hubCommunicatorMock.Setup(h => h.GetPayload(It.IsAny <Guid>()))
            .Returns(() => Task.FromResult(testPayloadDTO));
            ObjectFactory.Container.Inject(typeof(IHubCommunicator), hubCommunicatorMock.Object);

            Mock <ISalesforceManager> salesforceIntegrationMock = Mock.Get(ObjectFactory.GetInstance <ISalesforceManager>());
            FieldDTO testField = new FieldDTO("Account")
            {
                Label = "TestAccount"
            };

            salesforceIntegrationMock.Setup(
                s => s.GetProperties(SalesforceObjectType.Account, It.IsAny <AuthorizationToken>(), false, null))
            .Returns(() => Task.FromResult(new List <FieldDTO> {
                testField
            }));

            salesforceIntegrationMock.Setup(
                s => s.Query(SalesforceObjectType.Account, It.IsAny <IList <FieldDTO> >(), It.IsAny <string>(), It.IsAny <AuthorizationToken>()))
            .Returns(() => Task.FromResult(new StandardTableDataCM()));

            _saveToSFDotCom_v1 = New <Save_To_SalesforceDotCom_v1>();
        }
コード例 #6
0
        public ActionResult Send(int userId, [FromBody] PayloadDTO payloadDTO)
        {
            try
            {
                var devices = _context.Devices.Where(x => x.UserId == userId).ToList();

                Microsoft.Extensions.Primitives.StringValues payload = JsonConvert.SerializeObject(payloadDTO, Formatting.None, new JsonSerializerSettings
                {
                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                });

                devices.ForEach(device =>
                {
                    string vapidPublicKey  = ConfigurationManager.AppSettings["publicKey"];
                    string vapidPrivateKey = ConfigurationManager.AppSettings["privateKey"];

                    var pushSubscription = new PushSubscription(device.PushEndpoint, device.PushP256DH, device.PushAuth);
                    var vapidDetails     = new VapidDetails("mailto:" + ConfigurationManager.AppSettings["subject"], vapidPublicKey, vapidPrivateKey);

                    var webPushClient = new WebPushClient();

                    try
                    {
                        webPushClient.SendNotification(pushSubscription, payload, vapidDetails);
                    }
                    catch (Exception)
                    {
                    }
                });

                return(Ok());
            }
            catch (Exception e) {
                return(BadRequest(e.Message.ToString()));
            }
        }
コード例 #7
0
 public ActivityDataPackageDTO(ActivityDTO curActionDTO, PayloadDTO curPayloadDTO)
 {
     ActivityDTO = curActionDTO;
     PayloadDTO  = curPayloadDTO;
 }