Пример #1
0
        public async Task <TeamDTO> TryAddTeamAsync(TeamTranslatorsDTO teamTranslators)
        {
            foreach (var translatorId in teamTranslators.TranslatorIds)
            {
                var newTeamTranslator = new TeamTranslator
                {
                    TeamId       = teamTranslators.TeamId,
                    TranslatorId = translatorId
                };

                var teamTranslator = await uow.GetRepository <TeamTranslator>().CreateAsync(newTeamTranslator);

                await notificationService.SendNotification(new NotificationDTO
                {
                    SenderId           = translatorId,
                    Message            = $"You received an invitation in team {teamTranslators.TeamName}",
                    ReceiverId         = translatorId,
                    NotificationAction = NotificationAction.JoinTeam,
                    Payload            = teamTranslators.TeamId,
                    Options            = new List <OptionDTO>()
                    {
                        new OptionDTO()
                        {
                            OptionDefinition = OptionDefinition.Accept
                        },
                        new OptionDTO()
                        {
                            OptionDefinition = OptionDefinition.Decline
                        }
                    }
                });
            }
            await uow.SaveAsync();

            var team = await uow.GetRepository <Team>().GetAsync(teamTranslators.TeamId);

            return(mapper.Map <TeamDTO>(team));
        }
Пример #2
0
        public async Task <IActionResult> AddTeamTranslators([FromBody] TeamTranslatorsDTO teamTransalors)
        {
            var entity = await service.TryAddTeamAsync(teamTransalors);

            return(Ok(entity));
        }