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}")); } }
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(); }