private static async Task <bool> ExecuteDoesNameAlreadyExistsAsync(DroidName name, IDbConnection connection)
 {
     return(await connection.QueryFirstOrDefaultAsync <bool>(
                DroidStoredProcedures.DisplayDroidByName,
                new { name = (string)name },
                commandType : CommandType.StoredProcedure));
 }
 public async Task <bool> DoesNameAlreadyExistsAsync(DroidName name)
 {
     using (var connection = _connectionProvider())
     {
         return(await ExecuteDoesNameAlreadyExistsAsync(name, connection));
     }
 }
示例#3
0
        private async Task <Droid> SetNameAsync(Func <DroidName, Task <bool> > nameAlreadyExistsAsync, DroidName name)
        {
            var existingDroidWithThisName = await nameAlreadyExistsAsync(name);

            if (existingDroidWithThisName)
            {
                throw new DroidConflictNameException();
            }

            Name = name;
            return(this);
        }
示例#4
0
        public Task <bool> DoesNameAlreadyExistsAsync(DroidName name)
        {
            var doesNameAlreadyExists = _droids.Any(droid => droid.Name == name.Value);

            return(Task.FromResult(doesNameAlreadyExists));
        }