Esempio n. 1
0
        private string GetLanguageContent(ExternalLanguageContent content, int index, Dictionary <string, object> parameters)
        {
            string postfix       = index.ToString();
            string prefix        = ",";
            string contentScript = string.Empty;

            if (content.IsLocalFile)
            {
                byte[] contentBytes;
                using (var stream = new FileStream(content.PathToExtension, FileMode.Open, FileAccess.Read))
                {
                    using (var reader = new BinaryReader(stream))
                    {
                        contentBytes = reader.ReadBytes((int)stream.Length);
                    }
                }
                parameters.Add($"{ContentParamName}{postfix}", contentBytes);
                contentScript = $"CONTENT = @{ContentParamName}{postfix}";
            }
            else if (!string.IsNullOrWhiteSpace(content.PathToExtension))
            {
                contentScript = $"{AddStringParameter(ContentParamName, string.Empty, content.PathToExtension)}";
            }
            return($@"( 
                      {contentScript}
                      {AddStringParameter(FileNameParamName, string.IsNullOrWhiteSpace(contentScript) ? string.Empty : prefix,
                      content.ExtensionFileName)}
                      {AddStringParameter(ParametersParamName, prefix, content.Parameters)}
                      {AddStringParameter(EnvVariablesParamName, prefix, content.EnvironmentVariables)}
                      )");
        }
Esempio n. 2
0
 private string GetUpdateScript(ExternalLanguage language, ExternalLanguageContent content, Dictionary <string, object> parameters, ContentModifyType contentModifyType)
 {
     return(GetLanguageModifyScript(language, new List <ExternalLanguageContent> {
         content
     }, parameters, ModifyType.Alter, contentModifyType));
 }
        private IDbConnection Verify(ExternalLanguage language, Func <IDbConnection, ExternalLanguage, Mock <IDbCommand>, bool> func)
        {
            Mock <IDbConnection>            connectionMock       = new Mock <IDbConnection>();
            Mock <IDbCommand>               commandMock          = new Mock <IDbCommand>();
            Mock <IDbDataParameter>         dbDataParamMock      = new Mock <IDbDataParameter>();
            Mock <IDataParameterCollection> dbDataParametersMock = new Mock <IDataParameterCollection>();
            Mock <IDataReader>              dataReaderMock       = new Mock <IDataReader>();
            bool dataReaderHasValues = language != null;

            dataReaderMock.Setup(x => x.Read()).Returns(() => dataReaderHasValues).Callback(() =>
            {
                dataReaderHasValues = false;
            }
                                                                                            );
            if (language != null)
            {
                ExternalLanguageContent content = language.Contents == null || language.Contents.Count == 0 ? null : language.Contents[0];

                dataReaderMock.Setup(x => x.GetInt32(0)).Returns(1);
                dataReaderMock.Setup(x => x.IsDBNull(1)).Returns(language.Name == null);
                dataReaderMock.Setup(x => x.GetString(1)).Returns(language.Name);

                dataReaderMock.Setup(x => x.IsDBNull(2)).Returns(language.CreatedDate == null);
                if (language.CreatedDate != null)
                {
                    dataReaderMock.Setup(x => x.GetDateTime(2)).Returns(DateTime.Parse(language.CreatedDate));
                }
                dataReaderMock.Setup(x => x.IsDBNull(3)).Returns(language.Owner == null);
                if (language.Owner != null)
                {
                    dataReaderMock.Setup(x => x.GetString(3)).Returns(language.Owner);
                }
                dataReaderMock.Setup(x => x.IsDBNull(5)).Returns(content == null || content.ExtensionFileName == null);
                if (content != null && content.ExtensionFileName != null)
                {
                    dataReaderMock.Setup(x => x.GetString(5)).Returns(content.ExtensionFileName);
                }
                dataReaderMock.Setup(x => x.IsDBNull(6)).Returns(content == null || content.Platform == null);
                if (content != null && content.Platform != null)
                {
                    dataReaderMock.Setup(x => x.GetString(6)).Returns(content.Platform);
                }
                dataReaderMock.Setup(x => x.IsDBNull(7)).Returns(content == null || content.Parameters == null);
                if (content != null && content.Parameters != null)
                {
                    dataReaderMock.Setup(x => x.GetString(7)).Returns(content.Parameters);
                }
                dataReaderMock.Setup(x => x.IsDBNull(8)).Returns(content == null || content.EnvironmentVariables == null);
                if (content != null && content.EnvironmentVariables != null)
                {
                    dataReaderMock.Setup(x => x.GetString(8)).Returns(content.EnvironmentVariables);
                }
            }
            dbDataParametersMock.Setup(x => x.Add(It.IsAny <object>()));
            dbDataParamMock.Setup(x => x.ParameterName);
            dbDataParamMock.Setup(x => x.Value);
            commandMock.Setup(x => x.CreateParameter()).Returns(dbDataParamMock.Object);
            commandMock.Setup(x => x.Parameters).Returns(dbDataParametersMock.Object);
            commandMock.SetupSet(x => x.CommandText = It.IsAny <string>());
            commandMock.Setup(x => x.ExecuteNonQuery());
            commandMock.Setup(x => x.ExecuteReader()).Returns(dataReaderMock.Object);
            connectionMock.Setup(x => x.CreateCommand()).Returns(commandMock.Object);
            func(connectionMock.Object, language, commandMock);

            return(connectionMock.Object);
        }