예제 #1
0
        public Stream Transform(Stream strm, Core.DataStore.IDataStore dataStore, object param)
        {
            var resultStream = new MemoryStream();

            resultStream.Append(strm);
            resultStream.Append(dataStore.GetReadStream((string)param));
            resultStream.Seek(0, SeekOrigin.Begin);
            return(resultStream);
        }
예제 #2
0
        public Stream Process(string content, Core.DataStore.IDataStore dataStore)
        {
            //[{"ref":"c:/dddd"},{"xslt" : "c:/dddd"}]
            Stream strm = null;

            foreach (var action in JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(content))
            {
                var kvp         = action.Single();
                var transformer = _streamTransformerResolver.Create(kvp.Key);
                strm = transformer.Transform(strm, dataStore, kvp.Value);
            }
            return(strm);
        }
        public Stream Transform(Stream strm, Core.DataStore.IDataStore dataStore, object param)
        {
            string currentContent;

            using (var reader = new StreamReader(strm))
            {
                currentContent = reader.ReadToEnd();
            }
            currentContent = currentContent.TrimEnd();

            if (currentContent.EndsWith("]"))
            {
                currentContent = currentContent.Substring(0, currentContent.Length - 1);
            }

            var resultStream = new MemoryStream();

            resultStream.WriteUtf(currentContent);
            resultStream.WriteUtf(",");
            resultStream.WriteUtf(dataStore.GetContent((string)param).RightOf("["));

            resultStream.Seek(0, SeekOrigin.Begin);
            return(resultStream);
        }