public void HandlesValidGroupArchive()
        {
            var groups = new List <Group>
            {
                new Group {
                    Id = "CHANID1", IsArchived = false
                },
                new Group {
                    Id = "CHANID2", IsArchived = false
                }
            };

            var mockState = SetupGroupsMock(groups);

            var message = new GroupArchive
            {
                Type    = EventType.GroupArchive,
                Channel = "CHANID1"
            };

            RunHandler(message, mockState);

            Assert.Equal(2, groups.Count);
            Assert.Equal(true, groups.First(c => c.Id == "CHANID1").IsArchived);
            Assert.Equal(false, groups.First(c => c.Id == "CHANID2").IsArchived);
        }
Beispiel #2
0
        private void GroupArchive(GroupArchive message)
        {
            var group = base.BotState.Groups.FirstOrDefault(c => c.Id == message.Channel);

            if (group == null)
            {
                return;
            }

            group.IsArchived = true;
        }
        public virtual void SendEmailArchive(Group group)
        {
            var messageSubject = $"Archive {group.Name}";

            _logger.LogInformation("Sending group archive email");

            var emailBody = new GroupArchive {
                Name = group.Name
            };

            var emailsTosend = string.Join(",", group.GroupAdministrators.Items.Select(i => i.Email).ToList());

            if (!string.IsNullOrEmpty(emailsTosend))
            {
                _emailClient.SendEmailToService(new EmailMessage(messageSubject, _emailClient.GenerateEmailBodyFromHtml(emailBody),
                                                                 _fromEmail, emailsTosend, new List <IFormFile>()));
            }
        }
Beispiel #4
0
 public void HandleGroupArchive(GroupArchive archive)
 {
     GroupLookup[archive.channel].is_archived = true;
 }