public void KeepAddingPies()
        {
            while (true)
            {
                AddNewPie();

                var pieDao = new PieDao();
                var pies   = pieDao.GetPies();
                Thread.Sleep(TimeSpan.FromSeconds(rand.Next(5, pies.Length < 100 ? 10 : 45)));
            }
        }
Example #2
0
        public Pie[] GetPies(bool?isVegan = null, bool?isGlutenFree = null, string flavor = null, Guid?madeByUserId = null, int?limit = null, bool?randomOrder = null)
        {
            var pieDao             = new PieDao();
            IEnumerable <Pie> pies = pieDao.GetPies();

            if (isVegan.HasValue)
            {
                pies = pies.Where(p => p.IsVegan == isVegan.Value);
            }

            if (isGlutenFree.HasValue)
            {
                pies = pies.Where(p => p.IsGlutenFree == isGlutenFree.Value);
            }

            if (!string.IsNullOrWhiteSpace(flavor))
            {
                pies = pies.Where(p => p.Flavor.Contains(flavor));
            }

            if (madeByUserId.HasValue)
            {
                pies = pies.Where(p => p.MadeByUserIds.Contains(madeByUserId.Value));
            }

            if (randomOrder.HasValue)
            {
                var rand = new Random();
                pies = pies.OrderBy(p => rand.NextDouble());
            }

            if (limit.HasValue)
            {
                pies = pies.Take(limit.Value);
            }

            return(pies.ToArray());
        }
        public void AddNewPie()
        {
            try
            {
                var userDao = new AuctionUserDao();
                var pieDao  = new PieDao();

                var possibleUsers = userDao.GetFilteredListOfUsers();
                while (possibleUsers.Count(u => u.IsStudent == false) < 4 ||
                       possibleUsers.Count(u => u.IsStudent == true) < 4)
                {
                    AddNewUser();
                    possibleUsers = userDao.GetFilteredListOfUsers();
                }

                var randomPieFlavor = PieFlavorsList[rand.Next(0, PieFlavorsList.Length)];
                var madeByUsers     = possibleUsers.OrderBy(u => rand.NextDouble()).Take(rand.Next(1, 4)).ToArray();

                var newPie = new Pie()
                {
                    Flavor = randomPieFlavor,
                    Name   =
                        $"{madeByUsers[rand.Next(0, madeByUsers.Length)].FirstName}'s {PieNameAttributes[rand.Next(0, PieNameAttributes.Length)]} {randomPieFlavor} Pie",
                    MadeByUserIds = madeByUsers.Select(u => u.Id).ToArray(),
                    IsGlutenFree  = rand.NextDouble() < 0.2 ? true : false,
                    IsVegan       = rand.NextDouble() < 0.2 ? true : false,
                    SoldToUserId  = rand.NextDouble() < 0.3
                        ? possibleUsers.Where(u => u.IsStudent == false).ToArray()[
                        rand.Next(0, possibleUsers.Count(u => u.IsStudent == false))].Id
                        : (Guid?)null,
                    ImageAddress = PieImagesList[rand.Next(0, PieImagesList.Length)]
                };
                pieDao.InsertNewPie(newPie);
            }
            catch
            {
            }
        }
Example #4
0
        public Pie AddNewPie(Pie inPie)
        {
            var pieDao = new PieDao();

            return(pieDao.InsertNewPie(inPie));
        }
Example #5
0
        public Pie GetSinglePie(Guid pieId)
        {
            var pieDao = new PieDao();

            return(pieDao.GetSinglePieById(pieId));
        }