Beispiel #1
0
        private static Attachment GetProfileCard(Graph.User profile)
        {
            var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0));

            card.Body.Add(new AdaptiveTextBlock()
            {
                Text = $"Hello, {profile.DisplayName}",
                Size = AdaptiveTextSize.ExtraLarge
            });

            card.Body.Add(new AdaptiveImage()
            {
                Url = new Uri("http://adaptivecards.io/content/cats/1.png")
            });
            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType,
                Content = card,
            });
        }
        private static Microsoft.Bot.Schema.Attachment GetProfileCard(Graph.User profile, string imagelink)
        {
            var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0));

            card.Body.Add(new AdaptiveTextBlock()
            {
                Text = $"Hello, {profile.DisplayName}",
                Size = AdaptiveTextSize.ExtraLarge
            });

            card.Body.Add(new AdaptiveImage()
            {
                Url = new Uri(imagelink)
            });
            return(new Microsoft.Bot.Schema.Attachment()
            {
                ContentType = AdaptiveCard.ContentType,
                Content = card,
            });
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="MicrosoftGraphServiceMessage"/> class.
 /// </summary>
 /// <param name="graphClientProvider">Instance of GraphClientService class</param>
 /// <param name="currentConnectedUser">Instance of Graph.User class</param>
 public MicrosoftGraphServiceMessage(GraphServiceClient graphClientProvider, User currentConnectedUser)
 {
     _graphProvider = graphClientProvider;
     _currentUser   = currentConnectedUser;
 }
Beispiel #4
0
        /// <summary>
        /// Executes the operations associated with the cmdlet.
        /// </summary>
        public override void ExecuteCmdlet()
        {
            Scheduler.RunTask(async() =>
            {
                IPartner partner = await PartnerSession.Instance.ClientFactory.CreatePartnerOperationsAsync(CorrelationId, CancellationToken).ConfigureAwait(false);

                if (ParameterSetName.Equals("ByUserId", StringComparison.InvariantCultureIgnoreCase))
                {
                    CustomerUser customerUser = await partner.Customers[CustomerId].Users[UserId].GetAsync(CancellationToken).ConfigureAwait(false);
                    WriteObject(new PSCustomerUser(customerUser));
                }
                else if (ParameterSetName.Equals("ByUserState", StringComparison.InvariantCultureIgnoreCase) && ReturnDeletedUsers.ToBool())
                {
                    SimpleFieldFilter filter     = new SimpleFieldFilter("UserState", FieldFilterOperation.Equals, "Inactive");
                    IQuery simpleQueryWithFilter = QueryFactory.BuildSimpleQuery(filter);
                    IResourceCollectionEnumerator <SeekBasedResourceCollection <CustomerUser> > usersEnumerator;
                    List <CustomerUser> users;
                    SeekBasedResourceCollection <CustomerUser> seekUsers;

                    users = new List <CustomerUser>();

                    seekUsers       = await partner.Customers[CustomerId].Users.QueryAsync(simpleQueryWithFilter, CancellationToken).ConfigureAwait(false);
                    usersEnumerator = partner.Enumerators.CustomerUsers.Create(seekUsers);

                    while (usersEnumerator.HasValue)
                    {
                        users.AddRange(usersEnumerator.Current.Items);
                        await usersEnumerator.NextAsync(RequestContextFactory.Create(CorrelationId), CancellationToken).ConfigureAwait(false);
                    }

                    WriteObject(users.Select(u => new PSCustomerUser(u)), true);
                }
                else if (ParameterSetName.Equals("ByUpn", StringComparison.InvariantCultureIgnoreCase))
                {
                    GraphServiceClient client     = PartnerSession.Instance.ClientFactory.CreateGraphServiceClient() as GraphServiceClient;
                    client.AuthenticationProvider = new GraphAuthenticationProvider(CustomerId);

                    Graph.User user           = await client.Users[UserPrincipalName].Request().GetAsync(CancellationToken).ConfigureAwait(false);
                    CustomerUser customerUser = await partner.Customers[CustomerId].Users[user.Id].GetAsync(CancellationToken).ConfigureAwait(false);

                    WriteObject(customerUser);
                }
                else
                {
                    IResourceCollectionEnumerator <SeekBasedResourceCollection <CustomerUser> > usersEnumerator;
                    List <CustomerUser> users;
                    SeekBasedResourceCollection <CustomerUser> seekUsers;

                    users = new List <CustomerUser>();

                    seekUsers       = await partner.Customers[CustomerId].Users.GetAsync(CancellationToken).ConfigureAwait(false);
                    usersEnumerator = partner.Enumerators.CustomerUsers.Create(seekUsers);

                    while (usersEnumerator.HasValue)
                    {
                        users.AddRange(usersEnumerator.Current.Items);
                        await usersEnumerator.NextAsync(RequestContextFactory.Create(CorrelationId), CancellationToken).ConfigureAwait(false);
                    }

                    WriteObject(users.Select(u => new PSCustomerUser(u)), true);
                }
            }, true);
        }
Beispiel #5
0
        static EventWorkflowHelperData()
        {
            eventEntity = new EventEntity
            {
                EventId    = "ad4b2b43-1cb5-408d-ab8a-17e28edac2baz-1234-2345",
                TeamId     = "ad4b2b43-1cb5-408d-ab8a-17e28edac2baz-1234",
                Audience   = 3,
                CategoryId = "088ddf0d-4deb-4e95-b1f3-907fc4511b02",
                AutoRegisteredAttendees = "",
                CategoryName            = "Test_Category",
                CreatedBy                   = "Jack",
                CreatedOn                   = new DateTime(2020, 09, 24),
                Description                 = "Teams Event",
                EndDate                     = new DateTime(2020, 09, 25),
                EndTime                     = new DateTime(2020, 09, 25),
                ETag                        = "",
                GraphEventId                = "088ddf0d-4deb-4e95-b1f3-907fc4511b02g",
                IsAutoRegister              = false,
                IsRegistrationClosed        = false,
                IsRemoved                   = false,
                MandatoryAttendees          = "",
                MaximumNumberOfParticipants = 10,
                MeetingLink                 = "",
                Name                        = "Mandaotory Training Event",
                NumberOfOccurrences         = 1,
                OptionalAttendees           = "",
                Photo                       = "https://testurl/img.png",
                StartDate                   = new DateTime(2020, 09, 25),
                StartTime                   = new DateTime(2020, 09, 25),
                UpdatedBy                   = "Jack",
                Venue                       = "",
                SelectedUserOrGroupListJSON = "",
                RegisteredAttendeesCount    = 0,
                Type                        = 0,
                RegisteredAttendees         = ""
            };

            validEventEntity = new EventEntity
            {
                EventId    = "ad4b2b43-1cb5-408d-ab8a-17e28edac2baz-1234-2345",
                TeamId     = "ad4b2b43-1cb5-408d-ab8a-17e28edac2baz-1234",
                Audience   = 1,
                CategoryId = "088ddf0d-4deb-4e95-b1f3-907fc4511b02",
                AutoRegisteredAttendees = "",
                CategoryName            = "Test_Category",
                CreatedBy                   = "Jack",
                CreatedOn                   = DateTime.UtcNow,
                Description                 = "Teams Event",
                EndDate                     = DateTime.UtcNow.AddDays(4).Date,
                EndTime                     = DateTime.UtcNow.AddDays(4).Date,
                ETag                        = "",
                GraphEventId                = "088ddf0d-4deb-4e95-b1f3-907fc4511b02g",
                IsAutoRegister              = false,
                IsRegistrationClosed        = false,
                IsRemoved                   = false,
                MandatoryAttendees          = "",
                MaximumNumberOfParticipants = 10,
                MeetingLink                 = "",
                Name                        = "Mandaotory Training Event",
                NumberOfOccurrences         = 1,
                OptionalAttendees           = "",
                Photo                       = "https://www.testurl.com/img.png",
                StartDate                   = DateTime.UtcNow.AddDays(2).Date,
                StartTime                   = DateTime.UtcNow.AddDays(2).Date,
                UpdatedBy                   = "Jack",
                Venue                       = "",
                SelectedUserOrGroupListJSON = "",
                RegisteredAttendeesCount    = 0,
                Type                        = 2,
                RegisteredAttendees         = ""
            };

            eventEntities = new List <EventEntity>()
            {
                new EventEntity
                {
                    EventId      = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-888",
                    CategoryId   = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba",
                    CategoryName = ""
                },
                new EventEntity
                {
                    EventId      = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999",
                    CategoryId   = "ad4b2b43-1cb5-408d-ab8a-17e28edac3ba",
                    CategoryName = ""
                }
            };

            category = new Category
            {
                CategoryId  = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba",
                Name        = "Test_Category_1",
                Description = "Description",
                CreatedBy   = "ad4b2b43-1cb5-408d-ab8a-17e28edacabc",
                CreatedOn   = DateTime.UtcNow,
                UpdatedOn   = DateTime.UtcNow,
            };

            categoryList = new List <Category>
            {
                new Category
                {
                    CategoryId  = "ad4b2b43-1cb5-408d-ab8a-17e28edac1ba",
                    Name        = "Test_Category_1",
                    Description = "Description",
                    CreatedBy   = "ad4b2b43-1cb5-408d-ab8a-17e28edacabc",
                    CreatedOn   = DateTime.UtcNow,
                    UpdatedOn   = DateTime.UtcNow,
                    IsInUse     = false,
                },
                new Category
                {
                    CategoryId  = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba",
                    Name        = "Test_Category_1",
                    Description = "Description",
                    CreatedBy   = "ad4b2b43-1cb5-408d-ab8a-17e28edacabc",
                    CreatedOn   = DateTime.UtcNow,
                    UpdatedOn   = DateTime.UtcNow,
                    IsInUse     = false,
                },
                new Category
                {
                    CategoryId  = "ad4b2b43-1cb5-408d-ab8a-17e28edac3ba",
                    Name        = "Test_Category_1",
                    Description = "Description",
                    CreatedBy   = "ad4b2b43-1cb5-408d-ab8a-17e28edacabc",
                    CreatedOn   = DateTime.UtcNow,
                    UpdatedOn   = DateTime.UtcNow,
                    IsInUse     = false,
                }
            };

            teamEvent = new Event
            {
                Subject = "Teams Event",
                Body    = new ItemBody
                {
                    ContentType = BodyType.Html,
                    Content     = eventEntity.Type == (int)EventType.LiveEvent ?
                                  $"{eventEntity.Description}<br/><br/><a href='{eventEntity.MeetingLink}'>{eventEntity.MeetingLink}</a>" :
                                  eventEntity.Description,
                },
                Attendees        = new List <Attendee>(),
                OnlineMeetingUrl = eventEntity.Type == (int)EventType.LiveEvent ? eventEntity.MeetingLink : null,
                IsReminderOn     = true,
                Location         = eventEntity.Type == (int)EventType.InPerson ? new Location
                {
                    Address = new PhysicalAddress {
                        Street = eventEntity.Venue
                    },
                }
                    : null,
                AllowNewTimeProposals = false,
                IsOnlineMeeting       = true,
                OnlineMeetingProvider = OnlineMeetingProviderType.TeamsForBusiness,
                Id = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-rrtyy"
            };

            lndTeam = new LnDTeam
            {
                ETag         = "",
                PartitionKey = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999",
                TeamId       = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-000",
                RowKey       = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-000"
            };

            graphUser = new Graph.User
            {
                DisplayName       = "Jack",
                UserPrincipalName = "Jack",
                Id   = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-001",
                Mail = "*****@*****.**"
            };

            graphUsers = new List <Graph.User>()
            {
                new Graph.User
                {
                    DisplayName       = "Jack",
                    UserPrincipalName = "Jack",
                    Id   = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-001",
                    Mail = "*****@*****.**"
                },
                new Graph.User
                {
                    DisplayName       = "Jack",
                    UserPrincipalName = "Jack",
                    Id   = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-002",
                    Mail = "*****@*****.**"
                },
                new Graph.User
                {
                    DisplayName       = "Jack",
                    UserPrincipalName = "Jack",
                    Id   = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-003",
                    Mail = "*****@*****.**"
                }
            };

            graphGroups = new List <Graph.Group>()
            {
                new Graph.Group
                {
                    DisplayName = "Jack",
                    Id          = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-001",
                    Mail        = "*****@*****.**"
                },
                new Graph.Group
                {
                    DisplayName = "Jack",
                    Id          = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-002",
                    Mail        = "*****@*****.**"
                },
                new Graph.Group
                {
                    DisplayName = "Jack",
                    Id          = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-003",
                    Mail        = "*****@*****.**"
                }
            };

            graphGroupDirectoryObject = new List <Graph.DirectoryObject>()
            {
                new Graph.DirectoryObject
                {
                    Id = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-001"
                },
                new Graph.DirectoryObject
                {
                    Id = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-002"
                },
                new Graph.DirectoryObject
                {
                    Id = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-003"
                }
            };

            fileInfo = new FormFile(new MemoryStream(), 1, 1, "sample.jpeg", "sample.jpeg");

            teamsChannelAccount = new List <TeamsChannelAccount>()
            {
                new TeamsChannelAccount
                {
                    GivenName         = "sam",
                    UserPrincipalName = "s"
                },
                new TeamsChannelAccount
                {
                    GivenName         = "jack",
                    UserPrincipalName = "j"
                }
            };

            teamEvent = new Event
            {
                Subject = "Teams Event",
                Body    = new ItemBody
                {
                    ContentType = BodyType.Html,
                    Content     = eventEntity.Type == (int)EventType.LiveEvent ?
                                  $"{eventEntity.Description}<br/><br/><a href='{eventEntity.MeetingLink}'>{eventEntity.MeetingLink}</a>" :
                                  eventEntity.Description,
                },
                Attendees        = new List <Attendee>(),
                OnlineMeetingUrl = eventEntity.Type == (int)EventType.LiveEvent ? eventEntity.MeetingLink : null,
                IsReminderOn     = true,
                Location         = eventEntity.Type == (int)EventType.InPerson ? new Location
                {
                    Address = new PhysicalAddress {
                        Street = eventEntity.Venue
                    },
                }
                    : null,
                AllowNewTimeProposals = false,
                IsOnlineMeeting       = true,
                OnlineMeetingProvider = OnlineMeetingProviderType.TeamsForBusiness,
                Id = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-rrtyy"
            };

            lndTeam = new LnDTeam
            {
                ETag         = "",
                PartitionKey = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999",
                TeamId       = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-000",
                RowKey       = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-000"
            };

            graphUser = new Graph.User
            {
                DisplayName       = "Jack",
                UserPrincipalName = "Jack",
                Id   = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-001",
                Mail = "*****@*****.**"
            };

            graphUsers = new List <Graph.User>()
            {
                new Graph.User
                {
                    DisplayName       = "Jack",
                    UserPrincipalName = "Jack",
                    Id   = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-001",
                    Mail = "*****@*****.**"
                },
                new Graph.User
                {
                    DisplayName       = "Jack",
                    UserPrincipalName = "Jack",
                    Id   = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-002",
                    Mail = "*****@*****.**"
                },
                new Graph.User
                {
                    DisplayName       = "Jack",
                    UserPrincipalName = "Jack",
                    Id   = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-003",
                    Mail = "*****@*****.**"
                }
            };

            graphGroups = new List <Graph.Group>()
            {
                new Graph.Group
                {
                    DisplayName = "Jack",
                    Id          = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-001",
                    Mail        = "*****@*****.**"
                },
                new Graph.Group
                {
                    DisplayName = "Jack",
                    Id          = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-002",
                    Mail        = "*****@*****.**"
                },
                new Graph.Group
                {
                    DisplayName = "Jack",
                    Id          = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-003",
                    Mail        = "*****@*****.**"
                }
            };

            graphGroupDirectoryObject = new List <Graph.DirectoryObject>()
            {
                new Graph.DirectoryObject
                {
                    Id = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-001"
                },
                new Graph.DirectoryObject
                {
                    Id = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-002"
                },
                new Graph.DirectoryObject
                {
                    Id = "ad4b2b43-1cb5-408d-ab8a-17e28edac2ba-445567-999-003"
                }
            };

            fileInfo = new FormFile(new MemoryStream(), 1, 1, "sample.jpeg", "sample.jpeg");

            teamsChannelAccount = new List <TeamsChannelAccount>()
            {
                new TeamsChannelAccount
                {
                    GivenName         = "sam",
                    UserPrincipalName = "s"
                },
                new TeamsChannelAccount
                {
                    GivenName         = "jack",
                    UserPrincipalName = "j"
                }
            };
        }