public Player AddPlayer(AddPlayerViewModel playerViewModel, int clubId) { var user = new User() { UserName = playerViewModel.Email, Email = playerViewModel.Email, Password = playerViewModel.Password, Role = Role.Player, CreateAt = DateTime.Now, LoggedAt = DateTime.Now, UpdateAt = DateTime.Now, UserDetail = new UserDetail() { FirstName = playerViewModel.FirstName, LastName = playerViewModel.LastName, Birthday = playerViewModel.BirthDate, FaNumber = playerViewModel.FaNumber, Nationality = playerViewModel.Nationality, ProfilePicture = playerViewModel.ProfilePicture, Address = new Address() { Address1 = playerViewModel.Address1, Address2 = playerViewModel.Address2, Address3 = playerViewModel.Address3, Telephone = playerViewModel.Telephone, Mobile = playerViewModel.Mobile, TownCity = playerViewModel.TownCity, PostCode = playerViewModel.Postcode } } }; var newUser = _userRepository.Add(user); var player = new Player() { Status = UserStatus.Active, PlayingFoot = playerViewModel.PlayingFoot, User = newUser, Club = _clubRepository.GetById(clubId), ParentsContactNumber = playerViewModel.ParentsContactNumber, ParentsFirstName = playerViewModel.ParentsFirstName, ParentsLastName = playerViewModel.ParentsLastName, PlayerHealthConditions = playerViewModel.PlayerHealthConditions, SchoolName = playerViewModel.SchoolName, SchoolAddress1 = playerViewModel.SchoolAddress1, SchoolAddress2 = playerViewModel.SchoolAddress2, SchoolContactEmail = playerViewModel.SchoolContactEmail, SchoolContactName = playerViewModel.SchoolContactName, SchoolPostcode = playerViewModel.SchoolPostcode, SchoolTelephone = playerViewModel.SchoolTelephone, SchoolTownCity = playerViewModel.SchoolTownCity, }; //take max 2 items playerViewModel.Teams = playerViewModel.Teams.Take(2).ToList(); var userTeams = _teamRepository.GetMany(t => playerViewModel.Teams.Contains(t.Id)); foreach (var team in userTeams) { player.Teams.Add(team); } var newPlayer = _playerRepository.Add(player); UpdateActivityPlayerStatus(); return newPlayer; }
public void UpdatePlayer(AddPlayerViewModel playerViewModel, int playerId) { //Cut teams count playerViewModel.Teams = playerViewModel.Teams.Take(2).ToList(); var player = _playerRepository.Get(p => p.User.Id == playerId); player.User.UserDetail.FirstName = playerViewModel.FirstName; player.User.UserDetail.LastName = playerViewModel.LastName; //teams foreach (var team in playerViewModel.Teams) { if (!player.Teams.Any(t => t.Id == team)) { player.Teams.Add(_teamRepository.GetById(team)); } } foreach (var team in player.Teams.Where(t => !playerViewModel.Teams.Contains(t.Id)).ToList()) { player.Teams.Remove(team); } player.Status = playerViewModel.UserStatus; player.User.Email = playerViewModel.Email; player.User.UserName = playerViewModel.Email; player.User.Password = playerViewModel.Password; player.User.UserDetail.Address.Telephone = playerViewModel.Telephone; player.User.UserDetail.Address.Mobile = playerViewModel.Mobile; player.User.UserDetail.FaNumber = playerViewModel.FaNumber; player.User.UserDetail.Birthday = playerViewModel.BirthDate; player.PlayingFoot = playerViewModel.PlayingFoot; player.User.UserDetail.ProfilePicture = playerViewModel.ProfilePicture; player.User.UserDetail.Nationality = playerViewModel.Nationality; player.User.UserDetail.Address.Address1 = playerViewModel.Address1; player.User.UserDetail.Address.Address2 = playerViewModel.Address2; player.User.UserDetail.Address.Address3 = playerViewModel.Address3; player.User.UserDetail.Address.TownCity = playerViewModel.TownCity; player.User.UserDetail.Address.PostCode = playerViewModel.Postcode; player.ParentsContactNumber = playerViewModel.ParentsContactNumber; player.ParentsFirstName = playerViewModel.ParentsFirstName; player.ParentsLastName = playerViewModel.ParentsLastName; player.PlayerHealthConditions = playerViewModel.PlayerHealthConditions; player.SchoolName = playerViewModel.SchoolName; player.SchoolAddress1 = playerViewModel.SchoolAddress1; player.SchoolAddress2 = playerViewModel.SchoolAddress2; player.SchoolContactEmail = playerViewModel.SchoolContactEmail; player.SchoolContactName = playerViewModel.SchoolContactName; player.SchoolPostcode = playerViewModel.SchoolPostcode; player.SchoolTelephone = playerViewModel.SchoolTelephone; player.SchoolTownCity = playerViewModel.SchoolTownCity; _playerRepository.Update(player, player.Id); UpdateActivityPlayerStatus(); }
public IHttpActionResult Post(AddPlayerViewModel playerViewModel) { if (_userServices.UserExist(playerViewModel.Email)) return Conflict(); int clubId = _userServices.GetClubByUserName(User.Identity.Name).Id; var player = _playerServices.AddPlayer(playerViewModel, clubId); if (player.Id > 0) { if (_photoManager.FileExists(playerViewModel.ProfilePicture)) { player.User.UserDetail.ProfilePicture = _photoManager.MoveFromTemp(player.User.UserDetail.ProfilePicture, FileStorageTypes.ProfilePicture, player.User.Id, "ProfilePicture"); } else { player.User.UserDetail.ProfilePicture = _photoManager.SetDefaultPrifilePic( FileStorageTypes.ProfilePicture, player.User.Id, "ProfilePicture.jpg"); } } _playerServices.UpdatePlayer(player); return Ok(); }