public async Task <SaveRankResponse> UpdateAsync(int rankId, Rank Rank)
        {
            var existingrate = await _rankRepository.FindByIdAsync(rankId);

            if (existingrate == null)
            {
                return(new SaveRankResponse("Category not found."));
            }

            existingrate.Name = Rank.Name;



            try
            {
                _rankRepository.Update(existingrate);
                await _unitOfWork.CompleteAsync();

                return(new SaveRankResponse(existingrate));

                //return "Success";
            }
            catch (Exception ex)
            {
                // Do some logging stuff
                return(new SaveRankResponse($"An error occurred when saving the Department: {ex.Message}"));
            }
        }
Example #2
0
        private void UpdateRank(PointsViewModel pointsViewModel)
        {
            // Busca todos pontos do Usuario
            var points      = _pointsRepository.GetByUserId(pointsViewModel.UserId).ToList();
            var totalPoints = points.Sum(x => x.Points); // Soma os pontos

            // Busca rank do Usuario, pois caso não exista deve ser criado um novo, caso contrario apenas atualizado
            var userRank = _rankRepository.GetByUserId(pointsViewModel.UserId);

            if (userRank is null) // Se rank for nulo irá gravar um rank novo
            {
                userRank = new Rank(pointsViewModel.UserId, totalPoints);
                _rankRepository.Add(userRank);
            }
            else
            {
                userRank.Update(totalPoints);// Esse caso existe rank então ele irá apenas atualizar os pontos totais
                _rankRepository.Update(userRank);
            }
            _rankRepository.SaveChanges();
        }