private void UpdateEntity(IChallengeResultCollection <IChallengeResult> entity) { using (var ctx = new HappyDogShowContext()) { foreach (IChallengeResult result in entity.Results) { var foundResults = ctx.HandlerChallengeResults.Where(i => i.ID == result.Id); if (foundResults.Count() == 1) { HandlerChallengeResult foundResult = foundResults.First(); foundResult.EntryNumber = result.EntryNumber; } } ctx.SaveChanges(); } }
private List <IChallengeResult> GetList <T>(int dogShowId, int classId) where T : IChallengeResult, new() { List <IChallengeResult> items = new List <IChallengeResult>(); using (var ctx = new HappyDogShowContext()) { if (classId > 0) { var existingData = from r in ctx.HandlerChallengeResults where r.DogShow.ID == dogShowId && r.HandlerClass.ID == classId select r; if (existingData.Count() == 0) { List <string> placings = new List <string>(); placings.Add("1st"); placings.Add("2nd"); placings.Add("3rd"); placings.Add("4th"); var newEntries = from ds in ctx.DogShows.Where(d => d.ID == dogShowId) from scc in ctx.HandlerClasses from p in placings select new { DogShow = ds, HandlerClass = scc, Placing = p }; foreach (var newEntry in newEntries) { HandlerChallengeResult realEntry = new HandlerChallengeResult() { DogShow = newEntry.DogShow, HandlerClass = newEntry.HandlerClass, Placing = newEntry.Placing, EntryNumber = "" }; ctx.HandlerChallengeResults.Add(realEntry); } ctx.SaveChanges(); } } var rawdata = from r in ctx.HandlerChallengeResults where r.DogShow.ID == dogShowId select r; if (classId > 0) { rawdata = rawdata.Where(r => r.HandlerClass.ID == classId); } var actualEntries = from r in rawdata orderby r.Placing select new T { Id = r.ID, ShowId = r.DogShow.ID, ShowName = r.DogShow.Name, Challenge = r.HandlerClass.Name, EntryNumber = r.EntryNumber, Placing = r.Placing, Print = false }; foreach (var entry in actualEntries) { items.Add(entry); } } return(items); }