BusinessLogic.Logic.Users.BoardGameGeekUserSaver.CreateUserDefintion C# (CSharp) Метод

CreateUserDefintion() публичный Метод

public CreateUserDefintion ( CreateBoardGameGeekUserDefinitionRequest request, ApplicationUser currentUser ) : BoardGameGeekUserDefinition
request BusinessLogic.Models.User.CreateBoardGameGeekUserDefinitionRequest
currentUser ApplicationUser
Результат BoardGameGeekUserDefinition
        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);
        }