private Guid MockParticipantsWithOptionsForExport(UserAndOrganizationDto userAndOrg)
        {
            var eventId = Guid.NewGuid();

            var users = new List <EventParticipantDto>
            {
                new EventParticipantDto
                {
                    FirstName = "Name",
                    LastName  = "Surname"
                }
            };

            var options = new List <EventOptionCountDto>
            {
                new EventOptionCountDto
                {
                    Option = "Option1",
                    Count  = 2
                },
                new EventOptionCountDto
                {
                    Option = "Option2",
                    Count  = 1
                }
            };

            _eventParticipationService.GetEventParticipantsAsync(eventId, userAndOrg).Returns(users);
            _eventUtilitiesService.GetEventChosenOptionsAsync(eventId, userAndOrg).Returns(options);
            return(eventId);
        }
Example #2
0
        public async Task Should_Return_Event_Chosen_Options()
        {
            var userAndOrg = new UserAndOrganizationDto
            {
                OrganizationId = 2
            };
            var guid = MockParticipantsWithOptionsForExport();

            var options = (await _eventUtilitiesService.GetEventChosenOptionsAsync(guid, userAndOrg)).ToList();

            Assert.AreEqual("Option1", options.ToArray()[0].Option);
            Assert.AreEqual("Option2", options.ToArray()[1].Option);
            Assert.AreEqual(2, options.ToArray()[0].Count);
            Assert.AreEqual(1, options.ToArray()[1].Count);
            Assert.AreEqual(2, options.Count);
        }
        public async Task <byte[]> ExportOptionsAndParticipantsAsync(Guid eventId, UserAndOrganizationDto userAndOrg)
        {
            var participants = (await _eventParticipationService.GetEventParticipantsAsync(eventId, userAndOrg))
                               .Select(x => new List <string> {
                x.FirstName, x.LastName
            });

            var options = (await _eventUtilitiesService.GetEventChosenOptionsAsync(eventId, userAndOrg))
                          .Select(x => new List <string> {
                x.Option, x.Count.ToString()
            })
                          .ToList();

            AddParticipants(participants);

            if (options.Any())
            {
                AddOptions(options);
            }

            return(_excelBuilder.GenerateByteArray());
        }