// GET: EpuletVasarlas
        public ActionResult Index()
        {
            var userId = HttpContext.User.Identity.GetUserId();
            var orszag = context.Orszagok
               .Include(o => o.OrszagEpuletek.Select(oe => oe.Epulet))
               .Include(o => o.OrszagEgysegek.Select(oe => oe.Egyseg))
               .Include(o => o.OrszagFejlesztesek.Select(of => of.Fejlesztes))
               .Include(o => o.AktualisEpitkezesek.Select(ae => ae.Epulet))
               .Single(o => o.ApplicationUser.Id == userId);

            var osszesEpulet = context.Epuletek.ToList();


            var model = new EpuletVasarlasViewModel
            {
                //Ide a szabadhelyek kellhet majd, h noveljuk az erteket
                //SzabadHelyek = orszag.OrszagEpuletek.Where(oe => oe.Epulet.Nev == "Barakk").Sum(oe => oe.Db) -
                //orszag.OrszagEgysegek.Sum(oe => oe.Db),

                Epuletek = osszesEpulet.Select(oe => new EpuletVasarlasListViewModel
                {
                    Nev = oe.Nev,
                    Id = oe.Id,
                    EpulesiIdo = oe.EpulesiIdo,
                    MeglevoDb = orszag.OrszagEpuletek
                            .Where(me => me.Epulet.Id == oe.Id)
                            .Sum(me => me.Db),
                    HatralevoKorok = orszag.AktualisEpitkezesek
                    .SingleOrDefault(hk => hk.Epulet.Id == oe.Id) == null ?
                    0 : orszag.AktualisEpitkezesek.SingleOrDefault(hk => hk.Epulet.Id == oe.Id).HatralevoKorok
                }).ToList()
            };

            return View(model);
        }
        public async Task<ActionResult> Epites(int id)
        {
            var userId = HttpContext.User.Identity.GetUserId();

            var orszag = await context.Orszagok
                .Include(o => o.OrszagEpuletek.Select(oe => oe.Epulet))
                .Include(o => o.AktualisEpitkezesek.Select(ae => ae.Epulet))
                .SingleAsync(o => o.ApplicationUser.Id == userId);

            var osszesEpulet = await context.Epuletek.ToListAsync();
            var Epulet = osszesEpulet.SingleOrDefault(e => e.Id == id);

            if (orszag.AktualisEpitkezesek != null && orszag.AktualisEpitkezesek.Count > 0)
            {
                ModelState.AddModelError("", "Már folyamatban van egy építkezés!");
            }

            if (ModelState.IsValid)
            {
                orszag.AktualisEpitkezesek.Add(new Models.DataAccess.Entities.AktualisEpitkezesek
                {
                    HatralevoKorok = 5,
                    Epulet = Epulet
                });


                await context.SaveChangesAsync();

                return RedirectToAction("Index", "EpuletVasarlas");
            }


            var model = new EpuletVasarlasViewModel
            {
                //Ide a szabadhelyek kellhet majd, h noveljuk az erteket
                //SzabadHelyek = orszag.OrszagEpuletek.Where(oe => oe.Epulet.Nev == "Barakk").Sum(oe => oe.Db) -
                //orszag.OrszagEgysegek.Sum(oe => oe.Db),

                Epuletek = osszesEpulet.Select(oe => new EpuletVasarlasListViewModel
                {
                    Nev = oe.Nev,
                    Id = oe.Id,
                    EpulesiIdo = oe.EpulesiIdo,
                    MeglevoDb = orszag.OrszagEpuletek
                            .Where(me => me.Epulet.Id == oe.Id)
                            .Sum(me => me.Db),
                    HatralevoKorok = orszag.AktualisEpitkezesek
                    .SingleOrDefault(hk => hk.Epulet.Id == oe.Id) == null ?
                    0 : orszag.AktualisEpitkezesek.SingleOrDefault(hk => hk.Epulet.Id == oe.Id).HatralevoKorok
                }).ToList()
            };

            return View("Index", model);
        }