コード例 #1
0
 public void addInterest(int newChildID, string newInterest)
 {
     if (newChildID < allChildren().Count)
     {
         Child child = getChildBasedOnId(newChildID);
         if (!(isAlreadyInterest(child, newInterest)))
         {
             foreach (Family family in families)
             {
                 foreach (Child child1 in family.Children)
                 {
                     if (child1.Id == newChildID)
                     {
                         Interest interest = new Interest();
                         interest.Type = newInterest;
                         ChildInterest childInterest = new ChildInterest();
                         childInterest.Child      = child1;
                         childInterest.Interest   = interest;
                         childInterest.ChildId    = child1.Id;
                         childInterest.InterestId = interest.Type;
                         child1.ChildInterests.Add(childInterest);
                     }
                 }
             }
         }
     }
     fileContext.SaveChanges();
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: Sjunne/TroelsTimer2
        public static void Main(string[] args)
        {
            FileAdapter fileAdapter = new FileAdapter();
            var         allFamilies = fileAdapter.getAllFamilies();


            //AddAllFamilies(allFamilies);

            using (FamilyDbContext familyDbContext = new FamilyDbContext())
            {
                var           first         = familyDbContext.Childs.First(child => child.FirstName.Equals("Maria"));
                Interest      interest      = familyDbContext.Interests.First(interst => interst.Type.Equals("Fodbold"));
                ChildInterest childInterest = new ChildInterest()
                {
                    Child    = first,
                    Interest = interest
                };

                familyDbContext.ChildInterests.Add(childInterest);
                familyDbContext.SaveChanges();
            }



            CreateHostBuilder(args).Build().Run();
        }
コード例 #3
0
        public void AddChildInterest(Child child, String interestType)
        {
            ChildInterest childInterest = new ChildInterest();

            childInterest.Child   = child;
            childInterest.ChildId = child.Id;
            // childInterest.Interest = interest;
            childInterest.InterestId = interestType;
            ChildInterests.Add(childInterest);
            child.ChildInterests.Add(childInterest);

            WriteChildrenToFile();
            WriteChildInterestToFile();
        }
コード例 #4
0
        public Child AddChildFinal(Child child, List <Interest> interestList)
        {
            Child tempChild = AddChild(child);

            foreach (var interest in interestList)
            {
                Interest      tempInterest    = interest;
                var           fetchedInterest = ctx.Interest.First(i => i.Type.Equals(interest.Type));
                ChildInterest childInterest   = new ChildInterest()
                {
                    Child      = tempChild,
                    ChildId    = tempChild.Id,
                    Interest   = fetchedInterest,
                    InterestId = fetchedInterest.Type
                };
                tempChild.ChildInterests = new List <ChildInterest>();
                tempChild.ChildInterests.Add(childInterest);
            }
            ctx.Update(tempChild);
            ctx.SaveChangesAsync();
            return(tempChild);
        }
コード例 #5
0
        public Child GenerateChild(Family family, int[] ageRange, string lastName)
        {
            Child c = new Child();

            c.Id = (++ChildId);

            // c.Id = ChildId++;
            c.Age = rand.Next(ageRange[1] - ageRange[0]) + ageRange[0];
            c.Sex = rand.Next(2) == 0 ? "F" : "M";

            // setting height
            if (c.Age == 0)
            {
                c.Height = 50 + rand.Next(11) - 5;
            }
            else if (c.Age == 1)
            {
                c.Height = 70 + rand.Next(15) - 7;
            }
            else if (c.Age < 17)
            {
                int tmp = c.Age * 6 + 77;
                c.Height = tmp + rand.Next((int)(tmp * 0.4)) - (int)(tmp * 0.2);
                if (c.Sex.Equals("F"))
                {
                    c.Height -= rand.Next(5);
                }
            }
            else if (c.Age >= 17)
            {
                string s = c.Sex;

                int result = GenerateAdultHeight(s);

                c.Height = result;
            }

            //float cWeight = c.Weight;
            int     cHeight = c.Height;
            decimal cWeight = GenerateWeight(cHeight);

            if (c.Sex.Equals("F"))
            {
                cWeight -= cWeight * 0.15M;
            }

            c.Weight    = cWeight;
            c.EyeColor  = GenerateEyeColor(family.Adults).ToString();
            c.HairColor = GenerateHairColor().ToString();
            if (c.Sex.Equals("F"))
            {
                c.FirstName = FemaleName.list[rand.Next(FemaleName.list.Length)];
            }
            else
            {
                c.FirstName = MaleName.list[rand.Next(MaleName.list.Length)];
            }

            c.LastName = !"".Equals(lastName) && lastName != null
                ? lastName
                : LastName.list[rand.Next(LastName.list.Length)];

            foreach (Adult parent in family.Adults)
            {
                if (c.LastName.Equals(parent.LastName))
                {
                    c.LastName += " Jr.";
                }
            }

            c.Pets = GenerateChildPets();

            List <ChildInterest> childInterests = new List <ChildInterest>();
            double chance = 1.0;

            while (chance >= rand.NextDouble())
            {
                int      index        = rand.Next(InterestTypes.dic.Count);
                string   interestType = InterestTypes.dic.Keys.ToArray()[index];
                Interest interest     = new Interest
                {
                    Type        = interestType,
                    Description = InterestTypes.dic[interestType]
                };
                ChildInterest ci = new ChildInterest
                {
                    Child      = c,
                    Interest   = interest,
                    ChildId    = c.Id,
                    InterestId = interest.Type
                };
                if (!childInterests.Contains(ci))
                {
                    childInterests.Add(ci);
                }

                chance *= 0.8;
            }

            c.ChildInterests = childInterests;
            return(c);
        }