public ActionResult Index(int nivelId)
        {
            UserProfile user = null;

            List <int> skinsUser;

            using (var db = new UsersContext())
            {
                var id = WebSecurity.GetUserId(User.Identity.Name);

                user = db.UserProfiles.FirstOrDefault(x => x.UserId == id);

                if (user != null)
                {
                    ViewBag.Pontos = user.Pontos;

                    ViewBag.Saldo = user.Saldo;
                }
            }



            using (var db = new UserSkisContext())
            {
                skinsUser = db.UserSkins.Where(u => u.UserId == user.UserId).Select(x => x.SkinId).ToList();
            }

            using (var db = new NiveisContext())
            {
                ViewBag.Nivel = db.Niveis.FirstOrDefault(x => x.Id == nivelId);
            }

            using (var db = new SkinsContext())
            {
                var itens = new List <Skin>();

                var skPadrao = db.Skins.FirstOrDefault(x => x.Id == 2);

                var skCompradas = skinsUser.Select(i => db.Skins.FirstOrDefault(x => x.Id == i)).ToList();

                itens.Add(skPadrao);

                if (skCompradas.Any())
                {
                    itens.AddRange(skCompradas);
                }

                ViewBag.Skins = JsonConvert.SerializeObject(itens.Select(x => new { x.Id, x.Nome }));
            }

            return(View());
        }
示例#2
0
        public JsonResult Comprar(int Id)
        {
            UserProfile user = null;

            bool retorno = true;

            using (var db = new UsersContext())
            {
                var id = WebSecurity.GetUserId(User.Identity.Name);

                user = db.UserProfiles.FirstOrDefault(x => x.UserId == id);

                if (user != null && user.Saldo > 100)
                {
                    user.Saldo -= 100;
                }
                else
                {
                    retorno = false;
                }

                db.SaveChanges();
            }

            if (retorno)
            {
                using (var db = new UserSkisContext())
                {
                    var itemId = db.UserSkins.Any() ? db.UserSkins.OrderByDescending(x => x.Id).FirstOrDefault().Id + 1 : 1;

                    db.UserSkins.Add(new UserSkin(user.UserId, Id)
                    {
                        Id = itemId
                    });

                    db.SaveChanges();
                }
            }


            return(Json(new { Sucesso = retorno }, JsonRequestBehavior.AllowGet));
        }