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)); }
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); }
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); }
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() }); }