public ToFlatFileStreamNode(string name, ToFlatFileArgs <TIn> args) : base(name, args)
 {
     _stream       = new MemoryStream();
     _streamWriter = new StreamWriter(_stream, Encoding.Default, 1024, true);
     this.ExecutionContext.AddDisposable(_streamWriter);
     _streamWriter.WriteLine(args.Mapping.GenerateDefaultHeaderLine());
     _serialize = args.Mapping.GetSerializer();
 }
        public void PushValues(TIn input, Action <TOut> push)
        {
            using (var sr = new StreamReader(_args.DataStreamSelector(input)))
            {
                if (_args.Mapping.HasColumnHeader)
                {
                    int index = 0;
                    LineSerializer <TParsed> lineSerializer = null;
                    while (!sr.EndOfStream)
                    {
                        string line = sr.ReadLine();

                        if (index == _args.Mapping.FirstLinesToIgnore)
                        {
                            lineSerializer = _args.Mapping.GetSerializer(line);
                        }
                        else if (index > _args.Mapping.FirstLinesToIgnore && !string.IsNullOrWhiteSpace(line))
                        {
                            TParsed parsed;
                            try
                            {
                                parsed = lineSerializer.Deserialize(line);
                            }
                            catch (Exception ex)
                            {
                                throw new FlatFileLineDeserializeException(index, ex);
                            }
                            push(_args.ResultSelector(input, parsed));
                        }
                        index++;
                    }
                }
                else
                {
                    int index = 0;
                    LineSerializer <TParsed> lineSerializer = _args.Mapping.GetSerializer();
                    while (!sr.EndOfStream)
                    {
                        string line = sr.ReadLine();

                        if (index >= _args.Mapping.FirstLinesToIgnore && !string.IsNullOrWhiteSpace(line))
                        {
                            TParsed parsed;
                            try
                            {
                                parsed = lineSerializer.Deserialize(line);
                            }
                            catch (Exception ex)
                            {
                                throw new FlatFileLineDeserializeException(index, ex);
                            }
                            push(_args.ResultSelector(input, parsed));
                        }
                        index++;
                    }
                }
            }
        }
Beispiel #3
0
 public Results()
 {
     this.InitializeComponent();
     DataTransferManager.GetForCurrentView().DataRequested    += DataRequested;
     ApplicationView.GetForCurrentView().VisibleBoundsChanged += WindowResized;
     roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
     resourceLoader  = ResourceLoader.GetForCurrentView();
     lineSerializer  = new LineSerializer(ResourceLoader.GetForViewIndependentUse());
 }
Beispiel #4
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var example = new Example()
            {
                DocumentType   = 0,
                Operation      = 1,
                OperationName  = "OPNAME",
                ServiceCode    = 2,
                ServiceName    = "SERVNAME",
                ActionCode     = "3",
                FunctionCode   = "7",
                CheckDigit     = "4",
                CompanyName    = "Example LTD",
                IssuerCode     = "123",
                IssuerName     = "Issuer LTD",
                CreationDate   = DateTime.Now,
                SequencialCode = 1,
            };

            var opt = new SerializationOptions()
            {
                DateTimeFormat = "ddMMyy"
            };
            LineSerializer line = new LineSerializer(opt);

            using var ms = new MemoryStream();
            using var sw = new StreamWriter(ms);
            line.Serialize(example, sw);

            var text = Encoding.UTF8.GetString(ms.ToArray());

            Console.WriteLine(text);


            // Convert back
            var example2 = line.Deserialize <Example>(text.Replace("\r\n", ""), out _);
        }
 public ThroughFlatFileStreamNode(string name, ThroughFlatFileArgs <TIn, TStream> args) : base(name, args)
 {
     _serialize = args.Mapping.GetSerializer();
 }