public async Task AddUserAsync(int receiverId)
        {
            using (var db = dbContextFactory.CreateDbContext(_appConfig))
            {
                var santa = new SecretSanta
                {
                    ReceiverUserId = receiverId,
                    SantaUserId    = null
                };

                db.SecretSantas.Add(santa);
                await db.SaveChangesAsync();
            }
        }
        public void Solve()
        {
            //["aaaa", "bbbb", ... , "yyyy", "zzzz"]
            IList <string> participantNames = Enumerable.Range('a', 'z' - 'a' + 1)
                                              .Select(i => string.Join(string.Empty, Enumerable.Range(0, 4)
                                                                       .Select(x => (char)i)))
                                              .ToArray();

            IList <SecretSantaParticipant> solution = SecretSanta.Solve(participantNames);

            Assert.AreEqual(participantNames.Count, solution.Count);

            foreach (SecretSantaParticipant element in solution)
            {
                Assert.AreNotEqual(element.Are, element.IsFor);
            }
        }