private void UpdateEntity(IChallengeResultCollection <IChallengeResult> entity) { using (var ctx = new HappyDogShowContext()) { foreach (IChallengeResult result in entity.Results) { var foundResults = ctx.BreedGroupChallengeResults.Where(i => i.ID == result.Id); if (foundResults.Count() == 1) { BreedGroupChallengeResult foundResult = foundResults.First(); foundResult.EntryNumber = result.EntryNumber; } } ctx.SaveChanges(); } }
private static void PopulateBreedGroupChallengeResultsTableForDogShow(int dogShowId) { using (var ctx = new HappyDogShowContext()) { List <string> placings = new List <string>(); placings.Add("1st"); placings.Add("2nd"); placings.Add("3rd"); placings.Add("4th"); var whatwemusthaveeventually = from bc in ctx.BreedGroupChallenges from bg in ctx.BreedGroups from s in ctx.DogShows.Where(i => i.ID == dogShowId) from p in placings select new { BreedGroupChallenge = bc, BreedGroup = bg, Show = s, Placing = p }; var whatwehavenow = from res in ctx.BreedGroupChallengeResults where res.DogShow.ID == dogShowId select res; BreedGroupChallengeResult defaultValue = new BreedGroupChallengeResult(); var whatwehavewithwhatwemusthave = from i in whatwemusthaveeventually join res in whatwehavenow on new { breedgroupid = i.BreedGroup.ID, breedgroupchallengeid = i.BreedGroupChallenge.ID, dogshowid = i.Show.ID, placing = i.Placing } equals new { breedgroupid = res.BreedGroup.ID, breedgroupchallengeid = res.BreedGroupChallenge.ID, dogshowid = res.DogShow.ID, placing = res.Placing } into gj from joinedresult in gj.DefaultIfEmpty() select new { breedgroupid = i.BreedGroup.ID, breedgroup = i.BreedGroup, breedgroupchallengeid = i.BreedGroupChallenge.ID, breedgroupchallenge = i.BreedGroupChallenge, dogshowid = i.Show.ID, dogshow = i.Show, placing = i.Placing, existingdata = joinedresult }; var yes = whatwehavewithwhatwemusthave.ToList(); var whatwemustcreate = yes.Where(i => i.existingdata == null); foreach (var tocreate in whatwemustcreate) { BreedGroupChallengeResult realEntry = new BreedGroupChallengeResult() { DogShow = tocreate.dogshow, BreedGroup = tocreate.breedgroup, BreedGroupChallenge = tocreate.breedgroupchallenge, Placing = tocreate.placing, EntryNumber = "" }; ctx.BreedGroupChallengeResults.Add(realEntry); } ctx.SaveChanges(); } }