public static void Execute(Guid id, EditAccountRequest request) { var commands = new List <DAL.Models.Player>(); request.Command.ForEach(x => { var player = new DAL.Models.Player { MiddleName = x.MiddleName, Name = x.Name, Number = x.Number, PlayerId = x.PlayerId, Surname = x.Surname }; commands.Add(player); }); var account = new DAL.Models.EditAccountRequest { Command = commands, Email = request.Email, Photo = request.Photo, Name = request.Name, Phone = request.Phone }; DbHelper.EditAccountInfo(id, account); }
internal PlayerDTO NewPlayer(PlayerDTO newPlayer) { var tempPlayer = new DAL.Models.Player { Name = newPlayer.Name, Email = newPlayer.Email, Age = newPlayer.Age, Gender = newPlayer.Gender, Username = newPlayer.GamerTag, IsActive = newPlayer.IsActive, PasswordHash = PasswordHelper.Create(newPlayer.Password) }; _dbContext.Players.Add(tempPlayer); _dbContext.SaveChanges(); newPlayer.Id = tempPlayer.Id; return(newPlayer); }
public async Task <IHttpActionResult> ScoreAsync(int id, ScoreRequest request) { DAL.Models.Match match = await UnitOfWork.GetMatchRepository().SelectByIdAsync(id) ?? throw new ActionCannotBeExecutedException(ExceptionMessages.MatchNotFound); if (!match.Players.Any(p => p.Id != request.AuthorId)) { throw new ActionCannotBeExecutedException(ExceptionMessages.PlayerNotFound + $" In match by Id : {id} UserId : {request.AuthorId}"); } IPlayerRepository playerRepo = UnitOfWork.GetPlayerRepository(); DAL.Models.Player author = await playerRepo.SelectByIdAsync(request.AuthorId) ?? throw new ActionCannotBeExecutedException(ExceptionMessages.PlayerNotFound); DAL.Models.Player assistant = null; if (request.AssistantId.HasValue) { if (!match.Players.Any(p => p.Id != request.AssistantId.Value)) { throw new ActionCannotBeExecutedException(ExceptionMessages.PlayerNotFound + $" In match by Id : {id} UserId : {request.AuthorId}"); } assistant = await playerRepo.SelectByIdAsync(request.AssistantId.Value) ?? throw new ActionCannotBeExecutedException(ExceptionMessages.PlayerNotFound); if (assistant.TeamId != author.TeamId) { throw new ActionCannotBeExecutedException(ExceptionMessages.TeamsMustBeSame); } } match.Goals.Add(new DAL.Models.Goal { Author = author, Assistant = assistant, GoalDt = DateTimeOffset.Now, Team = author.Team }); await UnitOfWork.SaveChangesAsync(); return(Ok()); }