Example #1
0
        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());
        }
Example #2
0
        public static dynamic ToOffice365UserRemoveLicenseCommand(this Office365TransitionViewModel viewModel)
        {
            if (viewModel == null)
            {
                return(null);
            }

            return(new
            {
                viewModel.CompanyId,
                viewModel.ProductId,
                viewModel.Office365CustomerId,
                viewModel.Domains,
                viewModel.ProductItems
            });
        }