예제 #1
0
        public static void UpdatePoints(string userId, int addedPoints)
        {
            RankingModel ranking = GetRankingForUser(userId);

            ranking.Points += addedPoints;
            SaveChanges();
        }
예제 #2
0
        public async Task <ResponseModel> Insert(RankingModel model)
        {
            ResponseModel response = new ResponseModel();

            try
            {
                Ranking md = new Ranking();

                md.Name       = model.Name;
                md.Precedence = model.Precedence;
                md.IsActive   = model.IsActive;
                md.CreateBy   = base.UserId;
                md.CreateDate = DateTime.Now;
                md.Deleted    = false;

                await _context.RankingRepository.AddAsync(md).ConfigureAwait(true);

                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(response);
        }
        public IHttpActionResult GetRanking()
        {
            try
            {
                using (var context = new gamequizlgpdEntities())
                {
                    var viewModel = new RankingModel();

                    viewModel.ListUsers = context.Usuarios
                                          .Where(p => p.Pontos != 0)
                                          .OrderByDescending(p => p.Pontos)
                                          .Select(p => new UserModel
                    {
                        Id     = p.Id,
                        Name   = p.Nome,
                        Points = p.Pontos,
                    })
                                          .Take(10).ToList();

                    return(Ok(viewModel));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
예제 #4
0
 private void ChangeDataChosenStudents(int studentId, bool isAdd)
 {
     if (chosenStudents.Any(x => x.Id == studentId) && isAdd)
     {
         MessageBox.Show("Đã chọn học sinh này", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         NotificationForm notificationForm = new NotificationForm("Đã chọn học sinh này", "Thông báo", MessageBoxIcon.Information);
         notificationForm.ShowDialog();
         return;
     }
     else
     {
         if (isAdd)
         {
             // add
             StudentModel studentModel          = managingStudentService.GetSingleStudentById(studentId);
             RankingModel defaultRankingStudent = managingStudentService.GetAllRanking().FirstOrDefault();
             studentModel.RankingId   = defaultRankingStudent.Id;
             studentModel.RankingName = defaultRankingStudent.RankingName;
             chosenStudents.Add(studentModel);
         }
         else
         {
             // remove
             chosenStudents.Remove(chosenStudents.Where(x => x.Id == studentId).FirstOrDefault());
         }
         LoadChosenStudents();
     }
 }
예제 #5
0
        public async Task <ResponseModel> Delete(RankingModel model)
        {
            ResponseModel response = new ResponseModel();

            try
            {
                Ranking md = await _context.RankingRepository.FirstOrDefaultAsync(m => m.Id == model.Id);

                if (!md.RowVersion.SequenceEqual(model.RowVersion))
                {
                    response.ResponseStatus = Core.CommonModel.Enums.ResponseStatus.OutOfDateData;
                    return(response);
                }

                md.Deleted    = true;
                md.UpdateBy   = base.UserId;
                md.UpdateDate = DateTime.Now;

                _context.RankingRepository.Update(md);

                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(response);
        }
예제 #6
0
        public List <RankingModel> Get(Guid group_id)
        {
            List <RankingModel> leaderboard = new List <RankingModel>();

            // Get all scores for the group
            var scores = DocumentDBRepository <QuizResultModel> .GetItems("Scores", i => i.group_id == group_id);

            // Group by user
            var grouped = scores.GroupBy(i => i.user);

            foreach (var userScores in grouped)
            {
                RankingModel ranking = new RankingModel()
                {
                    user = userScores.Key, pct_score = 0, total_possible = 0, total_score = 0
                };
                for (var i = 0; i < userScores.Count(); i++)
                {
                    ranking.total_possible += userScores.ElementAt(i).questions;
                    ranking.total_score    += userScores.ElementAt(i).correct;
                }
                ranking.pct_score = ((ranking.total_score + 0.0) / ranking.total_possible) * 100.0;
                leaderboard.Add(ranking);
            }

            return(leaderboard.OrderByDescending(i => i.pct_score).ToList());
        }
예제 #7
0
    public void AddRankingRecord(RankingModel record /*string name, int stage, int score*/)
    {
        try
        {
            CreateConnection();
            dbconn.Open();

            IDbCommand dbcmd = dbconn.CreateCommand();

            string query = string.Format(
                "INSERT INTO RankingRecords " +
                "(Name, Stage, Score) " +
                "VALUES ('{0}',{1},{2})", record.NameValue, record.StageValue, record.ScoreValue);

            dbcmd.CommandText = query;
            dbcmd.ExecuteReader();

            dbcmd.Dispose();
            dbcmd = null;
        }
        catch (Exception e)
        {
            Debug.LogError(e.Message);
        }
        finally
        {
            dbconn.Close();
            dbconn = null;
        }
    }
예제 #8
0
        public void Init(ScoreModel scoreModel)
        {
            _rankingModel = new RankingModel(scoreModel);
            _rankingView.Init();


            Bind();
        }
예제 #9
0
 public PlayerModel()
 {
     Ranking = new RankingModel();
     Gender = GenderType.Man;
     ForehandRight = true;
     DateOfBirth = Constants.MinimalSqlDate;
     PlayFrom = Constants.MinimalSqlDate;
 }
예제 #10
0
        public ActionResult Index()
        {
            var model = new RankingModel
            {
                ListaHistorico = ObterHistorico()
            };

            return(View(model));
        }
예제 #11
0
    public void ActionConfirmName()
    {
        GlobalPlayerData.Instance.Name = inputField.text;

        var ranking = new RankingModel(inputField.text, GlobalPlayerData.Instance.Stage, GlobalPlayerData.Instance.Score);

        db.AddRankingRecord(ranking);
        SceneManager.LoadScene("Ranking");
    }
예제 #12
0
        internal List <RankingModel> SelectAllRanking()
        {
            SQLiteConnection conn = ConnectionToDB();

            SQLiteDataReader    reader   = SelectExecuteSQL(string.Format("select * from ranking", RankingModel.Column), conn);
            List <RankingModel> rankings = RankingModel.MakeResultSet(reader);

            DisconnectionToDB(conn);
            return(rankings);
        }
예제 #13
0
        // GET: Ranking
        public ActionResult Index()
        {
            var ranking = new RankingModel
            {
                Season  = SetSeason(),
                Ranking = BuildLeagueRanking()
            };

            return(View(ranking));
        }
예제 #14
0
    public void AddRankingRecord(RankingModel record)
    {
        string query = string.Format(
            "INSERT INTO RankingRecords " +
            "(Name, Wave, Score) " +
            "VALUES ('{0}',{1},{2})",
            record.NameValue,
            record.WaveValue,
            record.ScoreValue);

        this.PostQueryToDb(query);
    }
예제 #15
0
        // GET: Ranking
        public ActionResult Index()
        {
            string RedisServer            = WebConfigurationManager.AppSettings["redisServer"];
            ConnectionMultiplexer redis   = ConnectionMultiplexer.Connect(RedisServer);
            IDatabase             db      = redis.GetDatabase();
            RankingModel          model   = new RankingModel();
            RankingUtils          ranking = new RankingUtils();

            model.Ranking = ranking.get_topAccess_list();

            return(View(model));
        }
예제 #16
0
    public void Win() // <====={ SCENE WIN }
    {
        StartCoroutine(TransitionScene(conditionScene));

        RankingModel ranking = new RankingModel("Gano", WaveManager.instance.currentWave, score);

        database.AddRankingRecord(ranking);
        GetScores();
        SortScores();

        isDead = false;
        hasWon = true;
    }
예제 #17
0
        public List <RankingModel> SortClans(List <Matches> matches, List <Clans> clans)
        {
            List <RankingModel> _ranking = new List <RankingModel>();

            foreach (var clan in clans)
            {
                RankingModel temp = new RankingModel();
                temp.Name = clan.Name;
                temp.Id   = clan.Id;
                _ranking.Add(temp);
            }

            GetScores(matches, _ranking);
            _ranking.Sort((x, y) => y.TotalScore.Value.CompareTo(x.TotalScore.Value));
            return(_ranking);
        }
예제 #18
0
        public List <RankingModel> ranking(List <int> idji)
        {
            List <RankingModel> seznam = new List <RankingModel>();


            foreach (int enid in idji)
            {
                RankingModel element = new RankingModel();
                element.denar          = trenutnoStanje(enid);
                element.winloss        = winpercantage(enid);
                element.mail_uporabnik = dobiMail(enid);
                seznam.Add(element);
            }

            return(seznam);
        }
예제 #19
0
    public void GameOver() // <====={ SCENE LOSE }
    {
        if (!isDead)
        {
            StartCoroutine(TransitionScene(conditionScene));
            isDead = true;

            RankingModel ranking = new RankingModel("Perdio", WaveManager.instance.currentWave, score);
            database.AddRankingRecord(ranking);
            GetScores();
            SortScores();

            isDead = true;
            hasWon = false;
        }
    }
예제 #20
0
        public RankingViewModel GetRankingVendasByMes(int?ano)
        {
            try
            {
                var vendas = new DataAccess.VendaDataAccess().GetList();
                var filter = vendas.AsEnumerable().Where(x => (ano == null || x.dtVenda.Year == ano)).ToList();

                var ranking = from venda in filter
                              group venda by venda.dtVenda.Month into vendasGroup
                              select new
                {
                    mes        = vendasGroup.Key,
                    qtdeVendas = vendasGroup.Count(),
                    vendas     = vendasGroup
                };

                ranking = ranking.OrderByDescending(x => x.qtdeVendas).ThenBy(x => x.mes);

                var     rankingView   = new RankingViewModel();
                decimal vrTotalVendas = 0;

                foreach (var item in ranking)
                {
                    var vendaGroup = item.vendas;
                    foreach (var itemVenda in vendaGroup)
                    {
                        var produto = new ProdutoBusiness().Get(itemVenda.idProduto);
                        if (produto != null)
                        {
                            var vrProduto = produto.vrProduto.Split('$')[1];
                            vrTotalVendas = vrTotalVendas + decimal.Parse(vrProduto);
                        }
                    }
                    var itemRank = new RankingModel(null, item.qtdeVendas, vrTotalVendas, DateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName(item.mes), null);
                    rankingView.Ranking.Add(itemRank);
                    vrTotalVendas = 0;
                }

                return(rankingView);
            }
            catch (Exception e)
            {
                return(new RankingViewModel(e.Message));
            }
        }
예제 #21
0
    public List <RankingModel> GetAllRankingRecords()
    {
        var records = new List <RankingModel>();

        try
        {
            CreateConnection();
            dbconn.Open();

            IDbCommand dbcmd    = dbconn.CreateCommand();
            string     sqlQuery = "SELECT Id, Name, Stage, Score FROM RankingRecords";
            dbcmd.CommandText = sqlQuery;

            IDataReader reader = dbcmd.ExecuteReader();
            while (reader.Read())
            {
                int    id    = reader.GetInt32(0);
                string name  = reader.GetString(1);
                int    stage = reader.GetInt32(2);
                int    score = reader.GetInt32(3);

                var record = new RankingModel(name, stage, score);
                record.Id = id;
                records.Add(record);

                Debug.Log(string.Format("id: {0} \t name: {1} \t stage: {2} \t score: {3}", id, name, stage, score));
            }

            reader.Close();
            reader = null;
            dbcmd.Dispose();
            dbcmd = null;
        }
        catch (Exception e)
        {
            Debug.LogError(e.Message);
        }
        finally
        {
            dbconn.Close();
            dbconn = null;
        }

        return(records);
    }
예제 #22
0
        public async Task Rank(IGuildUser user, [Remainder] string _ = "")
        {
            if (!_scoreRepo.HasScore(user))
            {
                throw new UserHasNoScoreException();
            }

            RankingModel rm = new RankingModel()
            {
                CreatedRank = _scoreRepo.GiveRankUser(user, Enums.ScoreType.Qouter),
                QuoteRank   = _scoreRepo.GiveRankUser(user, Enums.ScoreType.Qouted),
                VCRank      = _scoreRepo.GiveRankUser(user, Enums.ScoreType.VC)
            };

            EmbedBuilder emb = await RankEmbedBuilder.BuildRank(Context, rm, user);

            await Context.Message.Channel.SendMessageAsync(embed : emb.Build());
        }
예제 #23
0
        public async static Task <EmbedBuilder> BuildRank(ICommandContext context, RankingModel ranking, IGuildUser user)
        {
            EmbedFooterBuilder footer = await EmbedBuilderFunctions.AddFooter(context);

            EmbedBuilder builder = new EmbedBuilder()
            {
                Color        = Color.Green,
                Title        = $"Rank for {user.Nickname ?? user.Username}",
                ThumbnailUrl = user.GetAvatarUrl(),
                Description  = $"So you want to know your standing huh? Well here it is.",
                Footer       = footer
            };

            builder.AddField("Qouted Ranking", $"#{ranking.QuoteRank}", true);
            builder.AddField("Quotes Created Ranking", $"#{ranking.CreatedRank}", true);
            builder.AddField("Voice Ranking", $"#{ranking.VCRank}", false);

            return(builder);
        }
예제 #24
0
        public RankingModel getUserRankinsById(int id)
        {
            RankingModel rank = new RankingModel();

            databaseConnection.Open();
            query = "Select win,loose from rankings where userId = " + id;;
            MySqlCommand    commandDatabase = new MySqlCommand(query, databaseConnection);
            MySqlDataReader reader          = commandDatabase.ExecuteReader();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    rank = new RankingModel(0, "", reader.GetInt32(0), reader.GetInt32(1), 0);
                }
            }
            databaseConnection.Close();
            return(rank);
        }
예제 #25
0
        public ActionResult Crear(RankingModel model)
        {
            Guid id = Guid.NewGuid();

            try
            {
                Ranking Ranking = new Ranking()
                {
                    RankingId  = 106,
                    Puntuacion = 5,
                };
                RankingBrl.Insertar(Ranking);
                return(RedirectToAction(""));
            }
            catch
            {
                return(View());
            }
        }
        private void UpdateUserWonAndLostTable(List <Tuple <int, int> > top4, List <Tuple <int, int> > last4)
        {
            for (int i = 0; i < top4.Count; i++)
            {
                if (i == 0)
                {
                    RankingModel rank = rDB.getUserRankinsById(top4[i].Item1);
                    rDB.updateRankings(top4[i].Item1, rank.Win + 3, rank.Lose);
                }
                else if (i == 1 || i == 2)
                {
                    RankingModel rank = rDB.getUserRankinsById(top4[i].Item1);
                    rDB.updateRankings(top4[i].Item1, rank.Win + 2, rank.Lose + 1);
                }
                else if (i == 3)
                {
                    RankingModel rank = rDB.getUserRankinsById(top4[i].Item1);
                    rDB.updateRankings(top4[i].Item1, rank.Win + 1, rank.Lose + 2);
                }
            }

            for (int i = 0; i < last4.Count; i++)
            {
                if (i == 0)
                {
                    RankingModel rank = rDB.getUserRankinsById(last4[i].Item1);
                    rDB.updateRankings(last4[i].Item1, rank.Win + 2, rank.Lose + 1);
                }
                else if (i == 1 || i == 2)
                {
                    RankingModel rank = rDB.getUserRankinsById(last4[i].Item1);
                    rDB.updateRankings(last4[i].Item1, rank.Win + 1, rank.Lose + 2);
                }
                else if (i == 3)
                {
                    RankingModel rank = rDB.getUserRankinsById(last4[i].Item1);
                    rDB.updateRankings(last4[i].Item1, rank.Win, rank.Lose + 3);
                }
            }
        }
예제 #27
0
        /// <summary>
        ///  폼 닫기
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Unload(object sender, FormClosingEventArgs e)
        {
            // 그리드 저장
            DataGridViewRowCollection rows   = dataGridView1.Rows;
            List <RankingModel>       models = new List <RankingModel>();

            for (int i = 0; i < rows.Count; i++)
            {
                DataGridViewRow row   = rows[i];
                RankingModel    model = new RankingModel();
                model.keyword    = (string)row.Cells[HEADER_KEYWORD].Value;
                model.subKeyword = (string)row.Cells[HEADER_SUB_KEYWORD].Value;
                model.rank       = (string)row.Cells[HEADER_RANKING].Value;
                model.checkedAt  = (string)row.Cells[HEADER_UPDATE_DATE].Value;
                model.more       = (string)row.Cells[HEADER_IS_MORE].Value;

                models.Add(model);
            }

            sqlite.DeleteAllTables(RankingModel.TableName);
            sqlite.InsertAllRankings(models);
        }
예제 #28
0
        public async Task <IActionResult> OnGetAsync(int id)
        {
            var templateOfPasion = await _context.Passion.FirstOrDefaultAsync(passion => passion.Id == id);

            var nameMapPassion  = _context.PassionType.Where(type => type.Id == templateOfPasion.PassionTypeId).Select(type => type.Name).ToList();
            var correctPassions = await _context.Passion.Where(pasion => pasion.PassionTypeId == templateOfPasion.PassionTypeId).OrderByDescending(pasion => pasion.Points).ToListAsync();

            var users = await _context.UserApp.ToListAsync();

            int idOfList = 1;

            RankingModel ranking = new RankingModel();

            ranking.PasstionName = nameMapPassion[0];
            ranking.Users        = new List <UserRankingData>();
            foreach (var passion in correctPassions)
            {
                foreach (var user in users)
                {
                    if (passion.UserId == user.Id)
                    {
                        var levelName = _context.Level.Where(level => level.Id == passion.LevelId).Select(level => level.Name).FirstOrDefault();
                        ranking.Users.Add(new UserRankingData
                        {
                            Number   = idOfList,
                            FullName = user.FirstName + " " + user.LastName,
                            Points   = passion.Points,
                            Level    = levelName
                        });
                    }
                }
                idOfList++;
            }

            RankingData = ranking;
            return(Page());
        }
예제 #29
0
        public List <RankingModel> GetAll()
        {
            List <RankingModel> rankingModels = new List <RankingModel>();

            using (conn = JBCertConnection.Instance)
            {
                string queryString = "Select * From [dbo].[tblXeploai] Where IsDeleted = 0";
                conn.Open();
                SqlCommand sqlCommand = new SqlCommand(queryString, conn);
                sqlCommand.CommandType = CommandType.Text;
                SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
                try
                {
                    while (sqlDataReader.Read())
                    {
                        RankingModel rankingModel = new RankingModel();
                        rankingModel.Id          = int.Parse(sqlDataReader["Id"].ToString());
                        rankingModel.RankingName = sqlDataReader["Tenxeploai"].ToString();
                        rankingModel.Note        = sqlDataReader["Ghichu"].ToString();
                        rankingModel.IsDeleted   = false;

                        rankingModels.Add(rankingModel);
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    sqlDataReader.Close();
                    conn.Close();
                }
            }

            return(rankingModels);
        }
예제 #30
0
        public RankingViewModel GetRankingProdutosByPeriodo(DateTime dtInicial, DateTime dtFinal)
        {
            try
            {
                var vendas  = new DataAccess.VendaDataAccess().GetList();
                var filter  = vendas.AsEnumerable().Where(x => x.dtVenda >= dtInicial && x.dtVenda <= dtFinal).ToList();
                var ranking = from venda in filter
                              group venda by venda.idProduto into vendasGroup
                              select new
                {
                    idProduto  = vendasGroup.Key,
                    qtdeVendas = vendasGroup.Count(),
                };

                ranking = ranking.OrderByDescending(x => x.qtdeVendas);

                var rankingView = new RankingViewModel();

                foreach (var item in ranking)
                {
                    var produto = new ProdutoBusiness().Get(item.idProduto);
                    if (produto != null)
                    {
                        var vrProduto = produto.vrProduto.Split('$')[1];

                        var itemRank = new RankingModel(produto.nmProduto, item.qtdeVendas, decimal.Parse(vrProduto) * item.qtdeVendas, null, null);
                        rankingView.Ranking.Add(itemRank);
                    }
                }

                return(rankingView);
            }
            catch (Exception e)
            {
                return(new RankingViewModel(e.Message));
            }
        }
예제 #31
0
        public void InsertAllRankings(List <RankingModel> rankingModels)
        {
            SQLiteConnection conn = ConnectionToDB();

            using (var command = new SQLiteCommand(conn))
            {
                using (var transaction = conn.BeginTransaction())
                {
                    // 100,000 inserts
                    for (var i = 0; i < rankingModels.Count; i++)
                    {
                        RankingModel rankingModel = rankingModels.ElementAt(i);

                        command.CommandText =
                            string.Format("insert into  " + RankingModel.TableName + " (" + RankingModel.Column + ") values (" + RankingModel.Values + ")", CommonUtils.MakeArray(rankingModel));
                        command.ExecuteNonQuery();
                    }

                    transaction.Commit();
                }
            }

            DisconnectionToDB(conn);
        }