/// <summary>
        /// Returns the desired command based on the provided <see cref="OptionObject2015"/> and parameter.
        /// </summary>
        /// <param name="optionObject"></param>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public static IRunScriptCommand GetCommand(IOptionObject2015 optionObject, IParameter parameter)
        {
            if (optionObject == null)
            {
                logger.Error("The provided OptionObject2015 is null");
            }

            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject);

            logger.Debug("Script '" + parameter.ScriptName + "' requested.");

            // Get Dependencies
            ConnectionStringCollection odbcConnectionStrings = ConnectionStringSelector.GetConnectionStringCollection();
            var repository  = new GetOdbcDataRepository(odbcConnectionStrings);
            var smtpService = new SmtpService();

            switch (parameter.ScriptName.ToUpperInvariant().Trim())
            {
                #region General Purpose Commands

                #endregion

                #region PM/Cal-PM Commands

                #endregion

                #region CWS Commands

                #endregion

                #region MSO Commands

                #endregion

                #region Utility and Testing Commands

            case "GETODBCDATA":
                logger.Debug("{command} selected.", nameof(GetOdbcDataCommand));
                return(new GetOdbcDataCommand(optionObjectDecorator, repository));

            case "HELLOWORLD":
                logger.Debug(nameof(HelloWorldCommand) + " selected.");
                return(new HelloWorldCommand(optionObjectDecorator));

            case "SENDEMAIL":
                logger.Debug("{command} selected.", nameof(SendEmailCommand));
                return(new SendEmailCommand(optionObjectDecorator, smtpService));

            case "SETFIELDVALUE":
                logger.Debug("{command} selected.", nameof(SetFieldValueCommand));
                return(new SetFieldValueCommand(optionObjectDecorator, parameter));

                #endregion

            default:
                logger.Warn(nameof(DefaultCommand) + " selected because ScriptName '" + parameter.ScriptName + "' does not match an existing command option.");
                return(new DefaultCommand(optionObjectDecorator, parameter));
            }
        }
        /// <summary>
        /// Returns the desired command based on the provided <see cref="OptionObject2015"/> and parameter.
        /// </summary>
        /// <param name="optionObject"></param>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public static IRunScriptCommand GetCommand(IOptionObject2015 optionObject, IParameter parameter)
        {
            if (optionObject == null)
            {
                logger.Error("The provided {object} is null", nameof(OptionObject2015));
                return(new DefaultScriptCommand(new OptionObjectDecorator(new OptionObject2015()), parameter));
            }

            // Setup Decorator
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject);

            // Get Dependencies, such as repositories and services

            // Select Command
            logger.Debug("Script '" + parameter.ScriptName + "' requested.");
            switch (parameter.ScriptName)
            {
            case "GetErrorCode0":
                logger.Debug(nameof(GetErrorCode0Command) + " selected.");
                return(new GetErrorCode0Command(optionObjectDecorator));

            case "GetErrorCode1":
                logger.Debug(nameof(GetErrorCode1Command) + " selected.");
                return(new GetErrorCode1Command(optionObjectDecorator));

            case "GetErrorCode2":
                logger.Debug(nameof(GetErrorCode2Command) + " selected.");
                return(new GetErrorCode2Command(optionObjectDecorator));

            case "GetErrorCode3":
                logger.Debug(nameof(GetErrorCode3Command) + " selected.");
                return(new GetErrorCode3Command(optionObjectDecorator));

            case "GetErrorCode4":
                logger.Debug(nameof(GetErrorCode4Command) + " selected.");
                return(new GetErrorCode4Command(optionObjectDecorator));

            case "GetErrorCode5":
                logger.Debug(nameof(GetErrorCode5Command) + " selected.");
                return(new GetErrorCode5Command(optionObjectDecorator));

            case "GetErrorCode6":
                logger.Debug(nameof(GetErrorCode6Command) + " selected.");
                return(new GetErrorCode6Command(optionObjectDecorator));

            case "GetFieldValue":
                logger.Debug(nameof(GetFieldValueCommand) + " selected.");
                return(new GetFieldValueCommand(optionObjectDecorator, parameter));

            case "SetFieldValue":
                logger.Debug(nameof(SetFieldValueCommand) + " selected.");
                return(new SetFieldValueCommand(optionObjectDecorator, parameter));

            default:
                logger.Debug(nameof(DefaultScriptCommand) + " selected.");
                return(new DefaultScriptCommand(optionObjectDecorator, parameter));
            }
        }
Ejemplo n.º 3
0
        public void RunScript_GetErrorCode6_OptionObject2_ReturnsErrorCode0()
        {
            // Arrange
            OptionObject2         optionObject          = new OptionObject2();
            OptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject);
            var command = new GetErrorCode6Command(optionObjectDecorator);

            // Act
            OptionObject2 returnOptionObject = (OptionObject2)command.Execute();

            // Assert
            Assert.AreEqual(6, returnOptionObject.ErrorCode);
        }
Ejemplo n.º 4
0
        public void RunScript_GetErrorCode6_OptionObject2015_FormCountEquals0()
        {
            // Arrange
            OptionObject2015      optionObject          = new OptionObject2015();
            OptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject);
            var command = new GetErrorCode6Command(optionObjectDecorator);

            // Act
            OptionObject2015 returnOptionObject = (OptionObject2015)command.Execute();

            // Assert
            Assert.AreEqual(0, returnOptionObject.Forms.Count);
        }
        public void GetCommand_HelloWorld_ReturnsHelloWorldCommand()
        {
            // Arrange
            OptionObject2015       optionObject2015      = new OptionObject2015();
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015);
            IParameter             parameter             = new Parameter("HelloWorld");
            HelloWorldCommand      expected = new HelloWorldCommand(optionObjectDecorator);

            // Act
            IRunScriptCommand actual = CommandSelector.GetCommand(optionObject2015, parameter);

            // Assert
            Assert.AreEqual(expected.GetType(), actual.GetType());
        }
        public void GetCommand_EmptyParameter_ReturnsDefaultCommand()
        {
            // Arrange
            OptionObject2015       optionObject2015      = new OptionObject2015();
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015);
            IParameter             parameter             = new Parameter("");
            DefaultCommand         expected = new DefaultCommand(optionObjectDecorator, parameter);

            // Act
            IRunScriptCommand actual = CommandSelector.GetCommand(optionObject2015, parameter);

            // Assert
            Assert.AreEqual(expected.GetType(), actual.GetType());
        }
Ejemplo n.º 7
0
        public void GetCommand_OptionObject2015_GetErrorCode0_ReturnsGetErrorCode0Command()
        {
            // Arrange
            OptionObject2015       optionObject          = new OptionObject2015();
            IParameter             parameter             = new Parameter("GetErrorCode0");
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject);
            GetErrorCode0Command   expected = new GetErrorCode0Command(optionObjectDecorator);

            // Act
            IRunScriptCommand actual = CommandFactory.GetCommand(optionObject, parameter);

            // Assert
            Assert.AreEqual(expected.GetType(), actual.GetType());
        }
Ejemplo n.º 8
0
        public void GetCommand_OptionObject2_SetFieldValue_ReturnsSetFieldValueCommand()
        {
            // Arrange
            OptionObject2          optionObject          = new OptionObject2();
            IParameter             parameter             = new Parameter("SetFieldValue,123");
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject);
            SetFieldValueCommand   expected = new SetFieldValueCommand(optionObjectDecorator, parameter);

            // Act
            IRunScriptCommand actual = CommandFactory.GetCommand(optionObject, parameter);

            // Assert
            Assert.AreEqual(expected.GetType(), actual.GetType());
        }
Ejemplo n.º 9
0
        public void RunScript_DefaultScript_OptionObject2015_FormCountEquals0()
        {
            // Arrange
            OptionObject2015       optionObject          = new OptionObject2015();
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject);
            IParameter             parameter             = new Parameter("?");
            var command = new DefaultScriptCommand(optionObjectDecorator, parameter);

            // Act
            OptionObject2015 returnOptionObject = (OptionObject2015)command.Execute();

            // Assert
            Assert.AreEqual(0, returnOptionObject.Forms.Count);
        }
        public void GetCommand_SetFieldValue_ReturnsSetFieldValueCommand()
        {
            // Arrange
            OptionObject2015       optionObject2015      = new OptionObject2015();
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015);
            IParameter             parameter             = new Parameter("SetFieldValue");
            SetFieldValueCommand   expected = new SetFieldValueCommand(optionObjectDecorator, parameter);

            // Act
            IRunScriptCommand actual = CommandSelector.GetCommand(optionObject2015, parameter);

            // Assert
            Assert.AreEqual(expected.GetType(), actual.GetType());
        }
Ejemplo n.º 11
0
        public void RunScript_DefaultScript_OptionObject2_ReturnsErrorCode0()
        {
            // Arrange
            OptionObject2          optionObject          = new OptionObject2();
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject);
            IParameter             parameter             = new Parameter("?");
            var command = new DefaultScriptCommand(optionObjectDecorator, parameter);

            // Act
            OptionObject2 returnOptionObject = (OptionObject2)command.Execute();

            // Assert
            Assert.AreEqual(3, returnOptionObject.ErrorCode);
        }
        public void GetCommand_SendEmail_ReturnsSendEmailCommand()
        {
            // Arrange
            OptionObject2015       optionObject2015      = new OptionObject2015();
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015);
            IParameter             parameter             = new Parameter("SendEmail");
            var smtpService           = new SmtpService();
            SendEmailCommand expected = new SendEmailCommand(optionObjectDecorator, smtpService);

            // Act
            IRunScriptCommand actual = CommandSelector.GetCommand(optionObject2015, parameter);

            // Assert
            Assert.AreEqual(expected.GetType(), actual.GetType());
        }
Ejemplo n.º 13
0
        public void Execute_HelloWorldCommand_ErrorCodeEquals3()
        {
            // Arrange
            double expected = 3;

            OptionObject2015       optionObject2015      = new OptionObject2015();
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015);
            var command = new HelloWorldCommand(optionObjectDecorator);

            // Act
            var actual = command.Execute();

            // Assert
            Assert.AreEqual(expected, actual.ErrorCode);
        }
Ejemplo n.º 14
0
        public void Execute_HelloWorldCommand_ReturnsOptionObject2015()
        {
            // Arrange
            OptionObject2015 expected = new OptionObject2015();

            OptionObject2015       optionObject2015      = new OptionObject2015();
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015);
            var command = new HelloWorldCommand(optionObjectDecorator);

            // Act
            var actual = command.Execute();

            // Assert
            Assert.AreEqual(expected.GetType(), actual.GetType());
        }
        public void Execute_SendEmailCommand_ReturnsOptionObject2015()
        {
            // Arrange
            OptionObject2015 expected = new OptionObject2015();

            OptionObject2015       optionObject2015      = new OptionObject2015();
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015);
            var messageService = new Mock <ISmtpService>();
            var command        = new SendEmailCommand(optionObjectDecorator, messageService.Object);

            // Act
            var actual = command.Execute();

            // Assert
            Assert.AreEqual(expected.GetType(), actual.GetType());
        }
        public void GetCommand_GetOdbcData_ReturnsGetOdbcDataCommand()
        {
            // Arrange
            OptionObject2015           optionObject2015           = new OptionObject2015();
            IOptionObjectDecorator     optionObjectDecorator      = new OptionObjectDecorator(optionObject2015);
            IParameter                 parameter                  = new Parameter("GetOdbcData");
            ConnectionStringCollection connectionStringCollection = new ConnectionStringCollection("", "", "");
            var repository = new GetOdbcDataRepository(connectionStringCollection);
            GetOdbcDataCommand expected = new GetOdbcDataCommand(optionObjectDecorator, repository);

            // Act
            IRunScriptCommand actual = CommandSelector.GetCommand(optionObject2015, parameter);

            // Assert
            Assert.AreEqual(expected.GetType(), actual.GetType());
        }
Ejemplo n.º 17
0
        public void Execute_EnabledEmpty_ReturnsEnabledEmpty()
        {
            // Arrange
            FieldObject fieldObject = new FieldObject()
            {
                Enabled     = "",
                FieldNumber = "123",
                FieldValue  = "",
                Lock        = "",
                Required    = ""
            };
            RowObject rowObject = new RowObject()
            {
                Fields = new List <FieldObject>()
                {
                    fieldObject
                },
                RowId = "1||1"
            };
            FormObject formObject = new FormObject()
            {
                CurrentRow        = rowObject,
                FormId            = "1",
                MultipleIteration = false
            };
            OptionObject2015 optionObject2015 = new OptionObject2015()
            {
                Forms = new List <FormObject>()
                {
                    formObject
                }
            };
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015);
            IParameter             parameter             = new Parameter("SetFieldValue,123,New Field Value");
            string expected = "";
            var    command  = new SetFieldValueCommand(optionObjectDecorator, parameter);

            // Act
            OptionObject2015 optionObject = (OptionObject2015)command.Execute();
            string           actual       = optionObject.Forms[0].CurrentRow.Fields[0].Enabled;

            // Assert
            Assert.AreEqual(expected, actual);
        }
        public void Execute_GetOdbcDataCommand_ReturnsOptionObject2015()
        {
            // Arrange
            OptionObject2015 expected = new OptionObject2015();

            OptionObject2015 optionObject2015 = new OptionObject2015()
            {
                EntityID = "12345",
                Facility = "1"
            };
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015);
            var repository = new Mock <IGetDataRepository>();

            repository.Setup(p => p.GetPatientCountOfOpenEpisodesByPatientId(optionObject2015.Facility, optionObject2015.EntityID)).Returns(3);
            var command = new GetOdbcDataCommand(optionObjectDecorator, repository.Object);

            // Act
            var actual = command.Execute();

            // Assert
            Assert.AreEqual(expected.GetType(), actual.GetType());
        }
        public void RunScript_GetFieldValue_OptionObject2_ReturnsErrorCode0()
        {
            // Arrange
            FieldObject fieldObject = new FieldObject()
            {
                FieldNumber = "123",
                FieldValue  = "TESTING"
            };
            RowObject rowObject = new RowObject()
            {
                Fields = new List <FieldObject>()
                {
                    fieldObject
                },
                RowId = "1||1"
            };
            FormObject formObject = new FormObject()
            {
                CurrentRow = rowObject,
                FormId     = "1"
            };
            OptionObject2 optionObject = new OptionObject2()
            {
                Forms = new List <FormObject>()
                {
                    formObject
                }
            };

            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject);
            IParameter             parameter             = new Parameter("GetFieldValue,123");
            var command = new GetFieldValueCommand(optionObjectDecorator, parameter);

            // Act
            OptionObject2 returnOptionObject = (OptionObject2)command.Execute();

            // Assert
            Assert.AreEqual(3, returnOptionObject.ErrorCode);
        }
        public void RunScript_SetFieldValue_OptionObject2015_FormCountEquals1()
        {
            // Arrange
            FieldObject fieldObject = new FieldObject()
            {
                FieldNumber = "123",
                FieldValue  = "TESTING"
            };
            RowObject rowObject = new RowObject()
            {
                Fields = new List <FieldObject>()
                {
                    fieldObject
                },
                RowId = "1||1"
            };
            FormObject formObject = new FormObject()
            {
                CurrentRow = rowObject,
                FormId     = "1"
            };
            OptionObject2015 optionObject = new OptionObject2015()
            {
                Forms = new List <FormObject>()
                {
                    formObject
                }
            };
            IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject);
            IParameter             parameter             = new Parameter("SetFieldValue,123");
            var command = new SetFieldValueCommand(optionObjectDecorator, parameter);

            // Act
            OptionObject2015 returnOptionObject = (OptionObject2015)command.Execute();

            // Assert
            Assert.AreEqual(1, returnOptionObject.Forms.Count);
        }