public async Task <ExecutionResult> Execute(ExecuteContext <IRemoveLicensePartnerPortalUserArguments> context) { var arguments = context.Arguments; var office365User = await _office365DbUserService.GetOffice365DatabaseUserWithLicensesAndOfferAsync(arguments.UserPrincipalName); var assignedLicense = office365User.Licenses .FirstOrDefault(l => l.Office365Offer.CloudPlusProductIdentifier == arguments.CloudPlusProductIdentifier); if (assignedLicense == null) { throw new NullReferenceException($"Could not find User {arguments.UserPrincipalName} license!"); } await _office365LicenseService .RemoveUserLicense(arguments.Office365CustomerId, office365User.Office365UserId, assignedLicense.Office365Offer.Sku); return(context.Completed(new RemoveLicensePartnerPortalUserLog { Office365CustomerId = arguments.Office365CustomerId, Office365UserId = office365User.Office365UserId, Office365OfferSku = assignedLicense.Office365Offer.Sku })); }