Exemple #1
0
        public string Next()
        {
            var characters = new CharacterDataAccess().FindAll <Character>();
            int id         = 1;

            if (characters.Count != 0)
            {
                id = characters.OrderBy(x => x.Id).Last().Id + 1;
            }
            return(id.ToJson());
        }
Exemple #2
0
        public bool Save([FromBody] JObject content)
        {
            try
            {
                dynamic   data      = JsonConvert.DeserializeObject <dynamic>(content.ToString());
                Character character = new Character();
                try
                {
                    character = new CharacterDataAccess().FindOne(data.id);
                }
                catch { }
                character.Id     = data.id;
                character.Name   = data.name;
                character.Age    = data.age == "" ? 0 : data.age;
                character.Height = data.height == "" ? 0 : data.height;
                character.Weight = data.weight == "" ? 0 : data.weight;
                character.MinimunStatusPoints = data.min_status;
                character.MaxPoints           = data.max_points;
                character.CurrentPoints       = data.current_points;
                character.Resources           = data.resources;
                character.Description         = data.description == "" ? "" : data.description;
                character.Status.Add("Strength", (int)data.strength);
                character.Status.Add("Dexterity", (int)data.dexterity);
                character.Status.Add("Intelligence", (int)data.intelligence);
                character.Status.Add("Health", (int)data.health);
                character.Status.Add("MaxLifePoints", (int)data.max_life_points);
                character.Status.Add("CurrentLifePoints", (int)data.current_life_points);
                character.Status.Add("Will", (int)data.will);
                character.Status.Add("Perception", (int)data.perception);
                character.Status.Add("MaxFatiguePoints", (int)data.max_fatigue_points);
                character.Status.Add("CurrentFatiguePoints", (int)data.current_fatigue_points);
                character.Status.Add("Speed", (int)data.speed);
                character.Status.Add("BasicMovement", (int)data.basic_movement);
                character.Status.Add("MaxCarryWeight", (int)data.max_carry_weight);
                character.Status.Add("CurrentCarryWeight", (int)data.current_carry_weight);

                foreach (var language in data.languages)
                {
                    Language languageDatabase = new LanguageDataAccess().FindOne <Language>((int)language.id);
                    languageDatabase.Level = language.level;
                    character.Languages.Add(languageDatabase);
                }
                foreach (var skill in data.skills)
                {
                    Skill skillDatabase = new SkillDataAccess().FindOne <Skill>((int)skill.id);
                    skillDatabase.Level = skill.level;
                    character.Skills.Add(skillDatabase);
                }
                foreach (var advantage in data.advantages)
                {
                    Advantage advantageDatabase = new AdvantageDataAccess().FindOne <Advantage>((int)advantage.id);
                    advantageDatabase.Level = advantage.level;
                    character.Advantages.Add(advantageDatabase);
                }
                foreach (var disadvantage in data.disadvantages)
                {
                    Disadvantage disadvantageDatabase = new DisadvantageDataAccess().FindOne <Disadvantage>((int)disadvantage.id);
                    disadvantageDatabase.Level = disadvantage.level;
                    character.Disadvantages.Add(disadvantageDatabase);
                }
                new CharacterDataAccess().InsertOne <Character>(character);
            }
            catch
            {
                return(false);
            }
            return(true);
        }
Exemple #3
0
        public bool Update([FromBody] JObject content)
        {
            try
            {
                dynamic data      = JsonConvert.DeserializeObject <dynamic>(content.ToString());
                int     id        = (int)data.id;
                var     character = new CharacterDataAccess().FindOne <Character>(id);
                character.Resources = data.resources;
                character.Status["MaxLifePoints"]        = (int)data.max_life_points;
                character.Status["CurrentLifePoints"]    = (int)data.current_life_points;
                character.Status["MaxFatiguePoints"]     = (int)data.max_fatigue_points;
                character.Status["CurrentFatiguePoints"] = (int)data.current_fatigue_points;
                character.Status["MaxCarryWeight"]       = (int)data.max_carry_weight;
                character.Status["CurrentCarryWeight"]   = (int)data.current_carry_weight;

                character.Inventory = new Inventory();
                foreach (var equipment in data.inventory.one_hand_weapons)
                {
                    Equipment equipmentDatabase = new EquipmentDataAccess().FindOne <Equipment>((int)equipment.id);
                    equipmentDatabase.Equipped = equipment.equipped;
                    equipmentDatabase.Bought   = (bool)equipment.bought;
                    character.Inventory.OneHandWeapons.Add(equipmentDatabase);
                }
                foreach (var equipment in data.inventory.two_hand_weapons)
                {
                    Equipment equipmentDatabase = new EquipmentDataAccess().FindOne <Equipment>((int)equipment.id);
                    equipmentDatabase.Equipped = equipment.equipped;
                    equipmentDatabase.Bought   = (bool)equipment.bought;
                    character.Inventory.TwoHandWeapons.Add(equipmentDatabase);
                }
                foreach (var equipment in data.inventory.shields)
                {
                    Equipment equipmentDatabase = new EquipmentDataAccess().FindOne <Equipment>((int)equipment.id);
                    equipmentDatabase.Equipped = equipment.equipped;
                    equipmentDatabase.Bought   = (bool)equipment.bought;
                    character.Inventory.Shields.Add(equipmentDatabase);
                }
                foreach (var equipment in data.inventory.armors)
                {
                    Equipment equipmentDatabase = new EquipmentDataAccess().FindOne <Equipment>((int)equipment.id);
                    equipmentDatabase.Equipped = equipment.equipped;
                    equipmentDatabase.Bought   = (bool)equipment.bought;
                    character.Inventory.Armors.Add(equipmentDatabase);
                }
                foreach (var item in data.inventory.consumables)
                {
                    Item itemDatabase = new ItemDataAccess().FindOne <Item>((int)item.id);
                    itemDatabase.Bought   = (bool)item.bought;
                    itemDatabase.Quantity = item.quantity;
                    character.Inventory.Consumables.Add(itemDatabase);
                }
                foreach (var item in data.inventory.others)
                {
                    Item itemDatabase = new ItemDataAccess().FindOne <Item>((int)item.id);
                    itemDatabase.Bought   = (bool)item.bought;
                    itemDatabase.Quantity = item.quantity;
                    character.Inventory.Others.Add(itemDatabase);
                }
                new CharacterDataAccess().Update <Character>(character.Id, character);
            }
            catch
            {
                return(false);
            }
            return(true);
        }