private async Task QuitOrDeclineTeamNotify(long teamId, User user, UserTeam userTeam)
        {
            var ownerId = await context.Teams.GetOwnerId(teamId);

            var items = new List <NoticeItem>
            {
                NoticeItem.User(user),
                NoticeItem.Team(userTeam.Team)
            };

            switch (userTeam.UserAction)
            {
            case UserActionEnum.RejectedTeamRequest:
                await notificationSender.Send(ownerId, NotifyType.Destructive,
                                              "{0} отказался от приглашения в команду {1}", user.Photo100, items);

                break;

            case UserActionEnum.QuitTeam:
                await notificationSender.Send(ownerId, NotifyType.Destructive,
                                              "{0} вышел из команды {1}", user.Photo100, items);

                break;
            }
        }
        private async Task JoinTeamNotify(long teamId, User user, Team team)
        {
            var ownerId = await context.Teams.GetOwnerId(teamId);

            await notificationSender.Send(ownerId, NotifyType.Destructive,
                                          "{0} принял приглашение в команду {1}", user.Photo100,
                                          NoticeItem.User(user),
                                          NoticeItem.Team(team));
        }
 private async Task SetTeamNotify(long userId, Team dbTeam, UserActionEnum userActionToSet)
 {
     if (userActionToSet == UserActionEnum.ConsideringOffer)
     {
         await notificationSender.Send(userId, NotifyType.Add,
                                       "Вас пригласили в команду {0}",
                                       dbTeam.Image.DataURL,
                                       NoticeItem.Team(dbTeam));
     }
 }
예제 #4
0
        public void InsertOnePlaceholder()
        {
            var message = "Вас пригласили в команду {0}";
            var items   = new List <NoticeItem>
            {
                NoticeItem.Team(27, "Super puper Team")
            };

            message = PlaceholderBuilder.Build(message, items);

            message.Should().Be("Вас пригласили в команду #[Team27]");
        }
예제 #5
0
        public void InsertTwoPlaceholder()
        {
            var message = "Вас пригласили в команду {0} по рекомендации пользователя {1}";
            var items   = new List <NoticeItem>
            {
                NoticeItem.Team(27, "Super puper Team"),
                NoticeItem.User(666, "Milkov")
            };

            message = PlaceholderBuilder.Build(message, items);

            message.Should().Be("Вас пригласили в команду #[Team27] по рекомендации пользователя #[User666]");
        }
        private async Task RejectedOrRemoveUserNotify(long userId, Team team, UserActionEnum userAction)
        {
            var requestUserId = HttpContext.User.Identity.Name;

            var teamItem = NoticeItem.Team(team);
            var user     = await context.Users.FirstOrDefaultAsync(u => u.Id == userId);

            if (requestUserId != userId.ToString())
            {
                switch (userAction)
                {
                case UserActionEnum.RejectedTeamRequest:
                    await notificationSender.Send(userId, NotifyType.Destructive,
                                                  "Команда {0} отклонила вашу заявку", team.Image.DataURL, teamItem);

                    break;

                case UserActionEnum.QuitTeam:
                    await notificationSender.Send(userId, NotifyType.Destructive,
                                                  "Команда {0} исключила вас из списка участников", team.Image.DataURL, teamItem);

                    break;
                }
            }
            else
            {
                var items = new List <NoticeItem> {
                    NoticeItem.User(user), teamItem
                };
                var ownerId = await context.Teams.GetOwnerId(team.Id);

                switch (userAction)
                {
                case UserActionEnum.RejectedTeamRequest:
                    await notificationSender.Send(ownerId, NotifyType.Destructive,
                                                  "{0} отказался от приглашения в команду {1}", user.Photo100, items);

                    break;

                case UserActionEnum.QuitTeam:
                    await notificationSender.Send(ownerId, NotifyType.Destructive,
                                                  "{0} вышел из команды {1}", user.Photo100, items);

                    break;
                }
            }
        }
        private async Task JoinTeamNotify(long userId, Team team, User user, UserActionEnum wasAction)
        {
            var teamItem = NoticeItem.Team(team);
            var ownerId  = await context.Teams.GetOwnerId(team.Id);

            switch (wasAction)
            {
            case UserActionEnum.ConsideringOffer:
                await notificationSender.Send(ownerId, NotifyType.Destructive,
                                              "{0} принял приглашение вступить в команду {1}", user.Photo100,
                                              NoticeItem.User(user), teamItem);

                break;

            case UserActionEnum.SentRequest:
                await notificationSender.Send(userId, NotifyType.Destructive,
                                              "Команда {0} добавила вас в список участников", team.Image.DataURL,
                                              teamItem);

                break;
            }
        }