Example #1
0
        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();
            }
        }
Example #2
0
        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();
            }
        }