public Models.User GetOrAdd(Models.User user) { string userName = user.UserName; Models.User existingUser = GetByUserName(userName); if (existingUser != null) { return(existingUser); } else { user.Id = System.Guid.NewGuid().ToString("B"); this.context.Users.Add(user); return(user); } }
public async Task <IActionResult> CreateAlbum([FromForm] AddAlbumResource albumResource) { if (string.IsNullOrEmpty(albumResource.Name)) { return(BadRequest()); } else { var album = this.mapper.Map <AddAlbumResource, Models.Album>(albumResource); var currentUser = new Models.User() { UserName = User.FindFirstValue(ClaimTypes.Name) }; album.Author = this.userRepository.GetOrAdd(currentUser); this.albumRepository.Add(album); await this.unitOfWork.CompleteAsync(); return(Ok(mapper.Map <Models.Album, AlbumResource>(album))); } }