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()); }