Esempio n. 1
0
 public async Task CheckEditedMessagePollAttachment()
 {
     var existingMessage = MessageConverter.GetMessageDto(fillTestDbHelper.Messages.FirstOrDefault(opt => opt.DialogId == null));
     var user = fillTestDbHelper.Users.FirstOrDefault();
     var poll = new PollVm
     {
         PollOptions = new List<PollOptionVm>
         {
             new PollOptionVm
             {
                 Description = "desc",
                 OptionId = 1
             },
             new PollOptionVm
             {
                 Description = "desc 2",
                 OptionId = 2
             }
         }
     };
     var message = new MessageVm
     {
         ConversationId = existingMessage.ConversationId,
         ConversationType = existingMessage.ConversationType,
         Attachments = new List<AttachmentVm>
         {
             new AttachmentVm
             {
                 Payload = poll,
                 Type = AttachmentType.Poll
             }
         }
     };
     Assert.True(await attachmentsService.CheckEditedMessageAttachmentsAsync(message, user.Id));
 }
Esempio n. 2
0
        public static PollVm GetPollVm(PollDto poll, long userId)
        {
            if (poll == null)
            {
                return(null);
            }

            PollVm result = new PollVm
            {
                ConversationType  = poll.ConversationType,
                ConversationId    = poll.ConversationId,
                MultipleSelection = poll.MultipleSelection,
                PollId            = poll.PollId,
                ResultsVisibility = poll.ResultsVisibility,
                Title             = poll.Title,
                SignRequired      = poll.SignRequired
            };

            if (poll.CreatorId == userId || poll.ResultsVisibility)
            {
                result.PollOptions = GetPollOptionsVm(poll.Options, userId, true);
            }
            else if (poll.CreatorId != userId && !poll.ResultsVisibility)
            {
                result.PollOptions = GetPollOptionsVm(poll.Options, userId, false);
            }
            result.Voted = result.PollOptions?.Any(opt => opt.Voted.GetValueOrDefault());
            return(result);
        }
Esempio n. 3
0
 public static async Task <PollVm> InitPollConversationAsync(PollVm poll, MessageVm message)
 {
     poll.ConversationType = message.ConversationType;
     if (message.ConversationType == ConversationType.Dialog)
     {
         poll.ConversationId = (await AppServiceProvider.Instance.LoadDialogsService.GetDialogsIdByUsersIdPairAsync(
                                    message.SenderId.GetValueOrDefault(),
                                    message.ReceiverId.GetValueOrDefault()).ConfigureAwait(false)).FirstOrDefault();
     }
     else
     {
         poll.ConversationId = message.ConversationId;
     }
     return(poll);
 }
Esempio n. 4
0
        public static PollDto GetPollDto(PollVm poll, long userId)
        {
            if (poll == null)
            {
                return(null);
            }

            return(new PollDto
            {
                ConversationType = poll.ConversationType.GetValueOrDefault(),
                ConversationId = poll.ConversationId.GetValueOrDefault(),
                CreatorId = userId,
                MultipleSelection = poll.MultipleSelection.GetValueOrDefault(false),
                ResultsVisibility = poll.ResultsVisibility.GetValueOrDefault(true),
                PollId = poll.PollId.GetValueOrDefault(),
                Title = poll.Title,
                Options = poll.PollOptions.Select(opt => new PollOptionDto
                {
                    Description = opt.Description,
                    OptionId = opt.OptionId
                }).ToList(),
                SignRequired = poll.SignRequired.GetValueOrDefault()
            });
        }