예제 #1
0
        public void PortalGroupController_DeletePortalGroup_Calls_DataService_On_Valid_PortalGroupId()
        {
            // Arrange
            MockComponentProvider.CreateNew <CachingProvider>();
            var mockDataService      = new Mock <IDataService>();
            var mockPortalController = new Mock <IPortalController>();
            var controller           = new PortalGroupController(mockDataService.Object, mockPortalController.Object);

            PortalGroupInfo portalGroup = CreateValidPortalGroup();

            portalGroup.PortalGroupId = Constants.PORTALGROUP_DeletePortalGroupId;

            // Act
            controller.DeletePortalGroup(portalGroup);

            // Assert
            mockDataService.Verify(ds => ds.DeletePortalGroup(portalGroup));
        }
예제 #2
0
        public void PortalGroupController_AddPortalToGroup_Throws_On_Negative_PortalId()
        {
            // Arrange
            var mockDataService      = new Mock <IDataService>();
            var mockPortalController = new Mock <IPortalController>();
            var controller           = new PortalGroupController(mockDataService.Object, mockPortalController.Object);

            var portal = new PortalInfo {
                PortalID = -1
            };

            PortalGroupInfo portalGroup = new PortalGroupInfo {
                PortalGroupId = Constants.PORTALGROUP_ValidPortalGroupId
            };

            // Act, Assert
            controller.AddPortalToGroup(portal, portalGroup, this.userCopied);
        }
예제 #3
0
        public void PortalGroupController_RemovePortalFromGroup_Throws_On_Negative_PortalGroupId()
        {
            //Arrange
            var mockDataService      = new Mock <IDataService>();
            var mockPortalController = new Mock <IPortalController>();
            var controller           = new PortalGroupController(mockDataService.Object, mockPortalController.Object);

            var portal = new PortalInfo {
                PortalID = Constants.PORTAL_ValidPortalId
            };

            PortalGroupInfo portalGroup = new PortalGroupInfo {
                PortalGroupId = -1
            };

            //Act, Assert
            controller.RemovePortalFromGroup(portal, portalGroup, false, userCopied);
        }
예제 #4
0
        public void PortalGroupController_AddPortalGroup_Sets_PortalGroupId_Property_On_Valid_PortalGroup()
        {
            //Arrange
            MockComponentProvider.CreateNew <CachingProvider>();
            var mockDataService = new Mock <IDataService>();

            mockDataService.Setup(ds => ds.AddPortalGroup(It.IsAny <PortalGroupInfo>(), It.IsAny <int>())).Returns(Constants.PORTALGROUP_AddPortalGroupId);
            var mockPortalController = new Mock <IPortalController>();
            var controller           = new PortalGroupController(mockDataService.Object, mockPortalController.Object);

            PortalGroupInfo portalGroup = CreateValidPortalGroup();

            portalGroup.PortalGroupId = Constants.PORTALGROUP_ValidPortalGroupId;

            //Act
            controller.AddPortalGroup(portalGroup);

            //Assert
            Assert.AreEqual(Constants.PORTALGROUP_AddPortalGroupId, portalGroup.PortalGroupId);
        }
예제 #5
0
        public async Task <IHttpActionResult> SavePortalGroup([FromBody] PortalGroupInfo portal)
        {
            try
            {
                portal.Username = username;
                var result = await this.PortalDBContext.SavePortalGroup(portal);

                if (result.IsDbSuccess)
                {
                    int messagePortalGroupId = result.ReturnId;

                    string url = this.PortalDBContext.GetMessageGatewayByIdSync(portal.MessageGatewayId).GatewayURL;

                    foreach (var p in portal.Persons)
                    {
                        string mobile = this.PersonDBContext.GetPersonByIdSync(p).Mobile;

                        bool smsResult = await RestAPIHelper.CallAPI(url, mobile, portal.MessageText);

                        PortalPersonInfo personInfo = new PortalPersonInfo
                        {
                            PersonId             = p,
                            MessagePortalGroupId = messagePortalGroupId,
                            Username             = username
                        };
                        personInfo.IsSent = smsResult;
                        await this.PortalDBContext.UpdatePortalPerson(personInfo);

                        await Task.Delay(2000);
                    }
                }
                return(Ok(result));
            }
            catch (Exception ex)
            {
                throw ex;
            }

            //return InternalServerError();
        }
예제 #6
0
 public void DeletePortalGroup(PortalGroupInfo portalGroup)
 {
     this._provider.ExecuteNonQuery("DeletePortalGroup", portalGroup.PortalGroupId);
 }