public IActionResult Post([FromBody] UserGroup userGroup) { try { if (userGroup == null) { _logger.LogInfo("UserGroupController-Post: Input value is null...."); return(NotFound()); } _logger.LogInfo("UserGroupController-Post: [Started] assigning group for user in Azure AD B2C"); //validation of properites if (!IsValid(userGroup)) { _logger.LogInfo("UserGroupController-Post: Invalid data in user group"); return(NotFound()); } var client = GraphClientUtility.GetGraphServiceClient(); if (client == null) { _logger.LogError("UserGroupController-Post: Unable to create object for graph client "); return(NotFound()); } var userGroupService = new UserGroupService(_logger, client); var assignResult = userGroupService.AssignUserToGroup(userGroup); if (assignResult != null) { var groupAssignedResults = assignResult.Result.ToList <GroupAssigned>(); if (groupAssignedResults.Any(x => x.IsGroupAssigned == false)) { _logger.LogWarn($"UserService-AssignGroupsToUser: Failed to assign one or more group for User Id: {userGroup.User.Id}, see the detail above"); } } _logger.LogInfo("UserGroupController-Post: [Completed] assigning group for user in Azure AD B2C"); return(Ok()); } catch (Exception ex) { _logger.LogError("UserGroupController-Post: Exception occured...."); _logger.LogError(ex); throw ex; } }