public async Task <EntityTransactionResult <ServerNodeViewModel> > CreateAsync(ServerNodeViewModel model, VanguardUser user, CancellationToken cancellationToken = default) { if (await AnyAsync(t => t.Name == model.Name, cancellationToken)) { return(EntityTransactionResult <ServerNodeViewModel> .Failure(EntityTransactionError.CreateUniqueError("Name", model.Name))); } var entity = new ServerNode { Name = model.Name, PublicKey = model.PublicKey, User = user }; var result = await _context.ServerNodes.AddAsync(entity, cancellationToken); if (await _context.SaveChangesAsync(cancellationToken) == 0) { return(EntityTransactionResult <ServerNodeViewModel> .Failure(EntityTransactionError.CreateNoResultsError())); } return(EntityTransactionResult <ServerNodeViewModel> .Success(await ToViewModelAsync(result.Entity, cancellationToken))); }