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))); } }
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 { } }
public Pie AddNewPie(Pie inPie) { var pieDao = new PieDao(); return(pieDao.InsertNewPie(inPie)); }
public Pie GetSinglePie(Guid pieId) { var pieDao = new PieDao(); return(pieDao.GetSinglePieById(pieId)); }