コード例 #1
0
ファイル: Manager.cs プロジェクト: Freamy/EnCoOrszagos
        public static AssaultViewModel MakeAssaultViewModel()
        {
            using (var context = new ApplicationDbContext())
            {
                int activeCountryId        = context.Users.First(c => c.UserName == System.Web.HttpContext.Current.User.Identity.Name).Country.Id;
                AssaultViewModel vmAssault = new AssaultViewModel();

                vmAssault.OwnName = context.Countries.FirstOrDefault(m => m.Id == activeCountryId).Name;

                List <Country> countries = new List <Country>();
                foreach (var item in context.Countries.ToList <Country>())
                {
                    Country c = new Country();
                    c.Id   = item.Id;
                    c.Name = item.Name;
                    countries.Add(c);
                }

                vmAssault.Countries = countries;

                Country country = context.Countries.First(m => m.Id == activeCountryId);

                List <Army> armies = new List <Army>();

                armies = country.StandingForce.Select(m => new Army()
                {
                    Size = m.Size,
                    Type = new UnitType()
                    {
                        Name        = m.Type.Name,
                        Attack      = m.Type.Attack,
                        Defense     = m.Type.Defense,
                        Description = m.Type.Description
                    }
                }).ToList();

                /*
                 * foreach (var item in country.StandingForce.ToList<Army>())
                 * {
                 *  Army army = new Army();
                 *  army.Size = item.Size;
                 *  UnitType ut = new UnitType();
                 *  ut.Name = item.Type.Name;
                 *  ut.Attack = item.Type.Attack;
                 *  ut.Defense = item.Type.Defense;
                 *  ut.Description = item.Type.Description;
                 *  army.Type = ut;
                 *  armies.Add(army);
                 * }*/


                // vmAssault.Armies = country.StandingForce.ToList<Army>();
                vmAssault.Armies = armies;

                List <AssaultsCollectModel> cmAssault = new List <AssaultsCollectModel>();

                foreach (var item in country.Assaults.ToList <Assault>())
                {
                    AssaultsCollectModel assault = new AssaultsCollectModel();

                    Country c = new Country()
                    {
                        Id   = item.Target.Id,
                        Name = item.Target.Name
                    };

                    assault.Country = c;

                    List <Force> newForces = new List <Force>();

                    newForces = item.Forces.Select(
                        m => new Force()
                    {
                        Size = m.Size,
                        Type = new UnitType()
                        {
                            Id   = m.Type.Id,
                            Name = m.Type.Name,
                        }
                    }
                        ).ToList();

                    /*foreach (var f in item.Forces.ToList<Force>())
                     * {
                     *  Force newForce = new Force()
                     *  {
                     *      Size = f.Size
                     *  };
                     *  newForce.Size = f.Size;
                     *  UnitType newType = new UnitType();
                     *  newType.Id = f.Type.Id;
                     *  newType.Name = f.Type.Name;
                     *  newForce.Type = newType;
                     *  newForces.Add(newForce);
                     * }*/

                    assault.Forces = newForces;
                    cmAssault.Add(assault);
                }

                vmAssault.Assaults = cmAssault;
                return(vmAssault);
            }
        }
コード例 #2
0
        public ActionResult Assault()
        {
            AssaultViewModel vmA = Manager.MakeAssaultViewModel();

            return(View(vmA));
        }