public async Task <IHttpActionResult> Transition([FromBody] Office365TransitionViewModel model) { var office365Transition = Office365ServiceConstants.QueueOffice365Transition; var domains = _domainService.GetCompanyDomains(model.CompanyId).ToList(); var cleanedProductItems = new List <Office365TransitionProductItemModel>(); foreach (var item in model.ProductItems) { var domain = item.UserPrincipalName.Split('@').ElementAtOrDefault(1); if (domain == null) { continue; } if (domains.Any(d => string.Equals(d.Name, domain, StringComparison.InvariantCultureIgnoreCase))) { cleanedProductItems.Add(item); } } model.ProductItems = cleanedProductItems; await _messageBroker.GetSendEndpoint(office365Transition) .Send <IOffice365TransitionCommand>(model.ToOffice365UserRemoveLicenseCommand()); return(Ok()); }
public static dynamic ToOffice365UserRemoveLicenseCommand(this Office365TransitionViewModel viewModel) { if (viewModel == null) { return(null); } return(new { viewModel.CompanyId, viewModel.ProductId, viewModel.Office365CustomerId, viewModel.Domains, viewModel.ProductItems }); }