////Todo Complete
        public static Data.Entities.Challenge Map(Domain.Challenge dmChallenge)
        {
            Data.Entities.Challenge deChallenge = new Entities.Challenge();
            if (dmChallenge.id != null)
            {
                deChallenge.Id = (int)dmChallenge.id;
            }

            Data.Entities.Sides SideA = new Data.Entities.Sides();
            if (dmChallenge.sideAId != null)
            {
                SideA.Id = (int)dmChallenge.sideAId;
            }
            SideA.Teamid    = (int)dmChallenge.Team1.id;
            SideA.Winreport = dmChallenge.Team1Report;
            deChallenge.Sides.Add(SideA);

            Data.Entities.Sides SideB = new Data.Entities.Sides();
            if (dmChallenge.sideBId != null)
            {
                SideB.Id = (int)dmChallenge.sideBId;
            }
            SideB.Teamid    = (int)dmChallenge.Team2.id;
            SideB.Winreport = dmChallenge.Team2Report;
            deChallenge.Sides.Add(SideB);

            if (dmChallenge.GameModeId != null)
            {
                deChallenge.GameModeId = (int)dmChallenge.GameModeId;
            }
            return(deChallenge);
        }
 public Challenge GetChallengeById(int id)
 {
     Data.Entities.Challenge cha = _db.Challenge.Where(c => c.Id == id).Include("Sides.Team").FirstOrDefault();
     if (cha == null)
     {
         return(null);
     }
     Domain.Challenge outCha = Mapper.Map(cha);
     return(outCha);
 }
        ////Todo Complete
        public static Domain.Challenge Map(Data.Entities.Challenge deChallenge)
        {
            if (deChallenge.Sides.Count != 2)
            {
                return(null);
            }
            List <Domain.Team> teams   = new List <Domain.Team>();
            List <bool?>       results = new List <bool?>();

            foreach (var side in deChallenge.Sides)
            {
                teams.Add(Map(side.Team));
                results.Add(side.Winreport);
            }
            Domain.Challenge dmChallenge = new Domain.Challenge(deChallenge.Id, teams[0], teams[1], (int)deChallenge.GameModeId, results[0], results[1]);
            dmChallenge.sideAId = deChallenge.Sides.ToList()[0].Id;
            dmChallenge.sideBId = deChallenge.Sides.ToList()[1].Id;
            return(dmChallenge);
        }