Exemplo n.º 1
0
        /// <summary>
        /// Get gang
        /// </summary>
        /// <param name="gangId">Gang ID</param>
        /// <returns>The requested gang</returns>
        public Gang GetGang(string gangId)
        {
            var gang = _gangProvider.GetGangById(gangId);

            gang.Gangers     = _gangerProvider.GetByGangId(gangId).Where(ganger => ganger.Active);
            gang.Territories = _territoryProvider.GetTerritoryByGangId(gangId);

            var weapons = _weaponProvider.GetByGangId(gangId);

            foreach (var ganger in gang.Gangers)
            {
                var gangerWeapons = weapons.Where(gw => gw.GangerId == ganger.GangerId);

                foreach (var gangerWeapon in gangerWeapons)
                {
                    gangerWeapon.Weapon.Cost = gangerWeapon.Cost.ToString();
                }

                ganger.Weapons = gangerWeapons;

                ganger.GetCost();
            }

            var injuries     = _injuryProvider.GetInjuriesByGangId(gangId);
            var skills       = _skillProvider.GetAllSkills();
            var gangerSkills = _gangerProvider.GetGangerSkills(gang.GangId);

            foreach (var ganger in gang.Gangers)
            {
                ganger.Injuries = injuries.Where(gi => gi.GangerId == ganger.GangerId)
                                  .Select(gi => gi.Injury)
                                  .ToList();

                ganger.Skills = gangerSkills.Where(gs => gs.GangerId == ganger.GangerId)
                                .Select(gs => gs.SkillId)
                                .Select(id => skills.Where(skill => skill.SkillId == id).First())
                                .ToList();
            }

            return(gang);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Get all injuries for a given gang
 /// </summary>
 /// <param name="gangId">Gang Id</param>
 /// <returns>Injuries</returns>
 public IEnumerable <GangerInjury> GetInjuriesByGangId(string gangId)
 {
     return(_injuryProvider.GetInjuriesByGangId(gangId));
 }