public async Task <CompensationResult> Compensate(CompensateContext <IRemoveLicensePartnerPortalUserLog> context)
        {
            try
            {
                var logs = context.Log;

                await _office365LicenseService
                .AssignUserLicense(logs.Office365CustomerId, logs.Office365UserId, logs.Office365OfferSku);
            }
            catch (Exception ex)
            {
                this.Log().Error("Compensate RemoveLicensePartnerPortalUserActivity failed!", ex);
            }

            return(context.Compensated());
        }
        public async Task <ExecutionResult> Execute(ExecuteContext <IAssignLicenseToPartnerPlatformUserArguments> context)
        {
            var arguments = context.Arguments;

            var office365User = await _office365DbUserService.GetOffice365DatabaseUserAsync(arguments.UserPrincipalName);

            if (office365User == null)
            {
                throw new Exception($"No Office365 user with upn {arguments.UserPrincipalName}");
            }

            var office365Offer = await _office356DbOfferService
                                 .GetOffice365OfferAsync(arguments.CloudPlusProductIdentifier);

            await _office365LicenseService
            .AssignUserLicense(arguments.Office365CustomerId, office365User.Office365UserId, office365Offer.Sku);

            return(context.Completed());
        }