Esempio n. 1
0
        private PathfinderRaceDetails PathfinderRaceDetailsSetup(PathfinderRace race)
        {
            Dictionary <string, string> languages = new Dictionary <string, string>();

            foreach (var language in race.Languages.Split('|').ToList())
            {
                var lang = language.Split('*').ToList();
                languages.Add(lang[0], lang[1]);
            }
            Dictionary <RacialTraitType, Dictionary <int, string> > racialTraits = new Dictionary <RacialTraitType, Dictionary <int, string> >();

            foreach (var item in race.RacialTraits)
            {
                if (!racialTraits.ContainsKey(item.TraitType))
                {
                    racialTraits.Add(item.TraitType, RaceFeaturesToDictionary(race.RacialTraits.Where(r => r.TraitType == item.TraitType).ToList()));
                }
            }
            var raceDisplay = new PathfinderRaceDetails
            {
                RaceID              = race.RaceID,
                OwnerID             = race.OwnerID,
                GameType            = race.GameType,
                RaceName            = race.RaceName,
                RaceType            = race.RaceType,
                PhysicalDescription = race.PhysicalDescription,
                BaseSpeed           = race.BaseSpeed,
                Size                 = race.Size,
                Languages            = languages,
                StrengthModifier     = race.StrengthModifier,
                DexterityModifier    = race.DexterityModifier,
                ConstitutionModifier = race.ConstitutionModifier,
                IntelligenceModifier = race.IntelligenceModifier,
                WisdomModifier       = race.WisdomModifier,
                CharismaModifier     = race.CharismaModifier,
                DateOfCreation       = race.DateOfCreation,
                DateOfModification   = race.DateOfModification,
                RacePoints           = race.RacePoints,
                PowerLevel           = race.PowerLevel,
                RacialTraits         = racialTraits,
            };

            return(raceDisplay);
        }
Esempio n. 2
0
        public void RaceAndPolymorphism()
        {
            List <Race> some = new List <Race>();
            DnDRace     race = new DnDRace();

            race.ArmorProficiencies = "blah";
            race.RaceName           = "name";
            PathfinderRace race2 = new PathfinderRace();

            some.Add(race);
            some.Add(race2);

            Assert.AreEqual(2, some.Count);
            //using( var ctx = new ApplicationDbContext())
            //{
            //    ctx.Races.Add(race);
            //    ctx.SaveChanges();
            //}
        }
Esempio n. 3
0
 //create DND race
 public bool CreateRace(RaceCreate raceCreate)
 {
     using (var ctx = new ApplicationDbContext())
     {
         if (raceCreate.GetType().Name == "DnDRaceCreate")
         {
             var race    = (DnDRaceCreate)raceCreate;
             var newRace = new DnDRace
             {
                 OwnerID             = _userId,
                 RaceName            = race.RaceName,
                 GameType            = race.GameType,
                 RaceType            = race.RaceType,
                 PhysicalDescription = race.PhysicalDescription,
                 BaseSpeed           = race.BaseSpeed,
                 Size                 = race.Size,
                 Languages            = String.Join("|", race.Languages.Select(l => l.Key + "*" + l.Value).ToArray()),
                 StrengthModifier     = race.StrengthModifier,
                 DexterityModifier    = race.DexterityModifier,
                 ConstitutionModifier = race.ConstitutionModifier,
                 IntelligenceModifier = race.IntelligenceModifier,
                 WisdomModifier       = race.WisdomModifier,
                 CharismaModifier     = race.CharismaModifier,
                 WeaponProficiencies  = String.Join("|", race.WeaponProficiencies),
                 ArmorProficiencies   = String.Join("|", race.ArmorProficiencies),
                 ToolProficiencies    = String.Join("|", race.ToolProficiencies),
                 IsDeactivated        = false,
                 DateOfCreation       = DateTimeOffset.UtcNow
             };
             ctx.Races.Add(newRace);
             return(ctx.SaveChanges() == 1);
         }
         else if (raceCreate.GetType().Name == "PathfinderRaceCreate")
         {
             var race    = (PathfinderRaceCreate)raceCreate;
             var newRace = new PathfinderRace
             {
                 OwnerID             = _userId,
                 RaceName            = race.RaceName,
                 GameType            = race.GameType,
                 RaceType            = race.RaceType,
                 PhysicalDescription = race.PhysicalDescription,
                 BaseSpeed           = race.BaseSpeed,
                 Size                 = race.Size,
                 Languages            = String.Join("|", race.Languages.Select(l => l.Key + "*" + l.Value).ToArray()),
                 StrengthModifier     = race.StrengthModifier,
                 DexterityModifier    = race.DexterityModifier,
                 ConstitutionModifier = race.ConstitutionModifier,
                 IntelligenceModifier = race.IntelligenceModifier,
                 WisdomModifier       = race.WisdomModifier,
                 CharismaModifier     = race.CharismaModifier,
                 IsDeactivated        = false,
                 RacePoints           = race.RacePoints,
                 PowerLevel           = race.PowerLevel,
                 DateOfCreation       = DateTimeOffset.UtcNow
             };
             ctx.Races.Add(newRace);
             foreach (var item in race.RacialTraits)
             {
                 newRace.RacialTraits.Add(new RaceFeatures
                 {
                     FeatureID = item.Key,
                     TraitType = item.Value
                 });
             }
             var something = ctx.SaveChanges() == 1;
             return(something);
         }
         else
         {
             return(false);
         }
     }
 }