Example #1
0
        public async Task <ActionResult> CreateScore(AddScoreDto addScoreDto)
        {
            var users = await _beachBuddyRepository.GetUsers();

            foreach (var user in users)
            {
                var scoreToAdd = new Score()
                {
                    Id       = Guid.NewGuid(),
                    Name     = addScoreDto.Name,
                    UserId   = user.Id,
                    WinCount = 0,
                    User     = user
                };

                user.Scores.Add(scoreToAdd);

                _beachBuddyRepository.UpdateUser(user);
                await _beachBuddyRepository.AddScore(scoreToAdd);
            }

            await _beachBuddyRepository.Save();

            await _notificationService.sendNotification(null, NotificationType.ScoreUpdated, null, null, true);

            return(Ok());
        }
        public async Task <IActionResult> UpdateUser(Guid userId, UpdateUserDto updateUserDto)
        {
            var userToUpdate = await _beachBuddyRepository.GetUser(userId);

            if (userToUpdate == null)
            {
                return(NotFound());
            }

            _mapper.Map(updateUserDto, userToUpdate);
            _beachBuddyRepository.UpdateUser(userToUpdate);
            await _beachBuddyRepository.Save();

            return(NoContent());
        }
Example #3
0
        private async Task AddGame(string gameName, string fromNumber)
        {
            if (string.IsNullOrWhiteSpace(gameName))
            {
                await _twilioService.SendSms(fromNumber,
                                             $"The game name can not be empty.");

                return;
            }

            if (gameName.Length > 15)
            {
                await _twilioService.SendSms(fromNumber,
                                             "The game name can not be longer than 15 characters.");

                return;
            }

            var users = await _beachBuddyRepository.GetUsers();

            foreach (var user in users)
            {
                var scoreToAdd = new Score()
                {
                    Id       = Guid.NewGuid(),
                    Name     = gameName,
                    UserId   = user.Id,
                    WinCount = 0,
                    User     = user
                };

                user.Scores.Add(scoreToAdd);

                _beachBuddyRepository.UpdateUser(user);
                await _beachBuddyRepository.AddScore(scoreToAdd);
            }

            await _beachBuddyRepository.Save();

            await _twilioService.SendSms(fromNumber,
                                         $"{gameName} was added! If you play outside, don't forget sunscreen!");
        }