public BoardGameGeekUserDefinition CreateUserDefintion(CreateBoardGameGeekUserDefinitionRequest request, ApplicationUser currentUser)
{
ValidateRequest(request);
var existingItem =
_dataContext.GetQueryable<BoardGameGeekUserDefinition>()
.FirstOrDefault(u => u.ApplicationUserId == currentUser.Id);
if (existingItem != null)
{
throw new ArgumentException(EXCEPTION_MESSAGE_CURRENT_USER_ALREADY_HAVE_BGG_ACCOUNT_LINKED);
}
existingItem = new BoardGameGeekUserDefinition
{
Id = request.BoardGameGeekUserId,
Name = request.Name,
ApplicationUserId = currentUser.Id,
Avatar = request.Avatar
};
return _dataContext.Save(existingItem, currentUser);
}