Exemplo n.º 1
0
        private Unit Handler(WriteObservedCommand request, CancellationToken token)
        {
            var info = Directory.CreateDirectory(_file.ExportPath + "\\obs");

            using var stream = new FileStream(info.FullName + $"\\{request.FileName}_Observed.csv", FileMode.Create);
            using var writer = new StreamWriter(stream);

            var builder = new StringBuilder();

            using var _context = _factory.Create();
            var data = _context.PlotData.Where(p => request.IDs.Contains(p.Plot.Treatment.ExperimentId))
                       .OrderBy(p => p.Date);
            var traits = data.Select(p => p.Trait).Distinct().ToArray();

            builder.AppendLine($"SimulationName,Date,{string.Join(",", traits.Select(t => t.Name))}");

            foreach (int id in request.IDs)
            {
                WriteExperimentData(_context.Experiments.Find(id), data.AsEnumerable(), traits, builder);
            }

            writer.Write(builder.ToString());
            writer.Close();

            return(Unit.Value);
        }
Exemplo n.º 2
0
            private TResponse TryRun(TRequest request, CancellationToken cancellationToken)
            {
                request.token     = cancellationToken;
                using var context = _factory.Create();
                request._context  = context;
                var result = request.Run();

                return(result);
            }