Exemplo n.º 1
0
 void ExportToCsv()
 {
     if (saveFileDialog.ShowDialog() == DialogResult.OK)
     {
         var builder = new EnumerableToCsvBuilder <CombatActorViewModel>(viewModelsMap.Values.ToArray())
                       .AddMapping("Pair", model => model.CombatPair)
                       .AddMapping("Attacker", model => model.AttackerName)
                       .AddMapping("Defender", model => model.DefenderName)
                       .AddMapping("Target choices", model => model.TargetPrefs)
                       .AddMapping("Damage caused", model => model.DamageCaused)
                       .AddMapping("Spell triggers", model => model.WeaponSpellAttacks)
                       .AddMapping("Misses", model => model.Misses)
                       .AddMapping("Glancing blows", model => model.GlancingBlows)
                       .AddMapping("Parried", model => model.Parries)
                       .AddMapping("Evaded", model => model.Evasions)
                       .AddMapping("Shield blocked", model => model.ShieldBlocks)
                       .AddMapping("Total hits", model => model.TotalHits.ToString())
                       .AddMapping("Total attacks", model => model.TotalMainActorAttacks.ToString())
                       .AddMapping("Hit ratio", model => model.HitRatio)
                       .AddMapping("Miss ratio", model => model.MissRatio)
                       .AddMapping("Glance ratio", model => model.GlanceRatio)
                       .AddMapping("Blocked ratio", model => model.BlockRatio)
                       .AddMapping("Parried ratio", model => model.ParryRatio)
                       .AddMapping("Evaded ratio", model => model.EvadeRatio);
         var csv      = builder.BuildCsv();
         var filePath = saveFileDialog.FileName;
         File.WriteAllText(filePath, csv);
         processStarter.StartSafe(Path.GetDirectoryName(filePath));
     }
 }
Exemplo n.º 2
0
        string BuildTxt()
        {
            var csvBuilder = new EnumerableToCsvBuilder <Condition>(conditions);

            csvBuilder.AddMapping("ConditionId", condition => condition.ConditionId.ToString());
            csvBuilder.AddMapping("Default", condition => condition.Default.ToString());
            csvBuilder.AddMapping("Disabled", condition => condition.Disabled.ToString());
            csvBuilder.AddMapping("Pattern", condition => condition.Pattern.ToString());
            csvBuilder.AddMapping("ConditionKind", condition => condition.ConditionKind.ToString());
            csvBuilder.AddMapping("MatchingKind", condition => condition.MatchingKind.ToString());
            var output = csvBuilder.BuildCsv();

            return(output);
        }
Exemplo n.º 3
0
        public void Given_sample_collection_Builds_expected_output()
        {
            var sampledata = new[]
            {
                new SampleData()
                {
                    Id = 1, Data = "D|1"
                },
                new SampleData()
                {
                    Id = 2, Data = "D\"2\""
                }
            }.AsEnumerable();

            var builder =
                EnumerableToCsvBuilder.Create(sampledata)
                .AddMapping("Id", data => data.Id.ToString())
                .AddMapping("Data", data => data.Data);
            var csv = builder.BuildCsv().NormalizeLineEndings();

            Expect(csv, EqualTo(Resources.CsvOutput1.NormalizeLineEndings()));
        }
Exemplo n.º 4
0
        public string CreateCsv(GrangerContext context, string herdName)
        {
            if (herdName == null)
            {
                throw new GrangerException("No herd specified");
            }

            var creatures = context.Creatures.Where(x => x.Herd == herdName).ToArray();

            if (creatures.Length == 0)
            {
                throw new GrangerException(string.Format("No creatures found in {0} herd or herd did not exist", herdName));
            }

            var builder = new EnumerableToCsvBuilder <CreatureEntity>(creatures)
                          .AddMapping("Name", entity => entity.Name)
                          .AddMapping("Server", entity => entity.ServerName)
                          .AddMapping("Herd", entity => entity.Herd)
                          .AddMapping("Father", entity => entity.FatherName)
                          .AddMapping("Mother", entity => entity.MotherName)
                          .AddMapping("Traits", entity => string.Join(",", entity.Traits.Select(trait => trait.ToShortcutString())))
                          .AddMapping("Not in mood", entity => entity.NotInMood?.ToString(CultureInfo.InvariantCulture))
                          .AddMapping("Give birth", entity => entity.PregnantUntil?.ToString(CultureInfo.InvariantCulture))
                          .AddMapping("Last groomed", entity => entity.GroomedOn?.ToString(CultureInfo.InvariantCulture))
                          .AddMapping("Gender", entity => entity.GenderAspect)
                          .AddMapping("Age", entity => entity.Age.ToString())
                          .AddMapping("Color", entity => entity.CreatureColorId)
                          .AddMapping("Inspect skill", entity => entity.TraitsInspectedAtSkill?.ToString())
                          .AddMapping("Cared by", entity => entity.TakenCareOfBy)
                          .AddMapping("Tags", entity => entity.SpecialTagsRaw)
                          .AddMapping("Comments", entity => entity.Comments)
                          .AddMapping("Birth date", entity => entity.BirthDate?.ToString(CultureInfo.InvariantCulture))
                          .AddMapping("Branded for", entity => entity.BrandedFor)
                          .AddMapping("SmileXamined", entity => entity.SmilexamineLastDate?.ToString(CultureInfo.InvariantCulture));

            return(builder.BuildCsv());
        }