Esempio n. 1
0
        public IActionResult QuizResult(QuizViewModel result)
        {
            List <int> colorInteger             = new List <int>();
            Dictionary <string, int> colorScore = new Dictionary <string, int>();
            List <string>            colors     = new List <string>();
            QuizResultViewModel      quizResult = new QuizResultViewModel();

            string[] desserializeResult = result.ColorScore.Split('|');
            foreach (string color in desserializeResult)
            {
                colorScore.Add(color.Substring(0, 1), int.Parse(color.Substring(1)));
            }

            var sortedDict = from entry in colorScore orderby entry.Value descending select entry;


            quizResult.PrimaryColor = colorScore.Aggregate((x, y) => x.Value > y.Value ? x : y).Key;



            quizResult.SecondaryColor = sortedDict.Skip(1).Aggregate((x, y) => x.Value > y.Value ? x : y).Key;

            if (quizResult.PrimaryColor == quizResult.SecondaryColor)
            {
                quizResult.PrimaryColor = sortedDict.OrderByDescending(i => i.Value).FirstOrDefault().Key;
            }

            quizResult.ColorScore = colorScore;
            AspNetUsers user = _context.AspNetUsers.Find(FindUserId());

            user.Playertype            = quizResult.PrimaryColor + quizResult.SecondaryColor;
            _context.Entry(user).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            _context.Update(user);
            _context.SaveChanges();

            return(View(quizResult));
        }
Esempio n. 2
0
        public void DecreaseCardQuantity(int Id)
        {
            var        userId       = FindUserId();
            DecksTable idCollection = (from x in _context.DecksTable where Id == x.Id select x).FirstOrDefault();

            idCollection.Quantity--;
            if (idCollection.Quantity < 1)
            {
                _context.DecksTable.Remove(idCollection);
                _context.SaveChanges();
            }
            else
            {
                _context.Entry(idCollection).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                _context.Update(idCollection);
                _context.SaveChanges();
            }
        }
        public async Task <IActionResult> UpdateBudget(string budget)
        {
            decimal budgetParse = 0;

            try
            {
                budgetParse = decimal.Parse(budget);
            }
            catch
            {
                return(View("Budget", "Please enter a valid dollar amount."));
            }

            AspNetUsers user = _context.AspNetUsers.Find(FindUserId());

            user.Budget = decimal.Parse(budget);
            _context.Entry(user).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            _context.Update(user);
            _context.SaveChanges();

            AssistedDeckViewModel assistedDeck = OpenSession();

            return(View("Index", assistedDeck));
        }
Esempio n. 4
0
        public void UpdateChatRoomUsers(string roomId)
        {
            using (var context = new MagicDbContext())
            {
                var chatRoom = context.ChatRooms.Find(roomId);

                List<ChatUserViewModel> chatUsers;
                if (chatRoom.IsPrivate)
                {
                    context.Entry(chatRoom).Collection(r => r.Users).Query().Include(u => u.User).Load(); //ChatRooms.Include(r => r.Users.Select(u => u.User)).First(r => r.Id == roomId)));
                    chatUsers = chatRoom.GetUserList().ToList();
                }
                else
                {
                    context.Entry(chatRoom).Collection(r => r.Connections).Query().Include(u => u.User).Load();
                    //var chatRoom = context.ChatRooms.Include(r => r.Connections.Select(u => u.User)).First(r => r.Id == roomId);
                    chatUsers = chatRoom.GetActiveUserList().ToList();
                }

                Clients.Group(roomId).updateChatRoomUsers(Json.Encode(chatUsers), roomId);
            }
        }