public async Task <IActionResult> Edit(string id, [Bind("GolfCourseID,Name")] GolfCourse golfCourse)
        {
            if (id != golfCourse.GolfCourseID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(golfCourse);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!GolfCourseExists(golfCourse.GolfCourseID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(golfCourse));
        }
 public GolfCourseStatPage(GolfCourse g)
 {
     InitializeComponent();
     this.changeGolfCourse(g);
     this.allScoreParties = null;
     this.allScoreHoles   = null;
 }
        // GET: TeeBoxes/Create
        public IActionResult Create(GolfCourse golfCourse)
        {
            ModelState.Clear(); //Fixes incorrect teename in view.
            ViewBag.GolfCourse = golfCourse;

            return(View());
        }
        // GET: HoleScores/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            HoleScore holeScore = db.HoleScores.Find(id);

            if (holeScore == null)
            {
                return(HttpNotFound());
            }
            GolfCourse golfCourse = db.Courses.Find(holeScore.GolfCourseID);

            if (golfCourse == null)
            {
                return(HttpNotFound());
            }
            Golfer golfer = db.Golfers.Find(holeScore.GolferID);

            if (golfer == null)
            {
                return(HttpNotFound());
            }
            ViewBag.GolfCourseName = golfCourse.Name;
            ViewBag.GolferName     = golfer.FirstName + " " + golfer.LastName;
            return(View(holeScore));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            GolfCourse golfCourse = db.Courses.Find(id);

            db.Courses.Remove(golfCourse);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult <GolfCourse> Post([FromBody] GolfCourse golfCourse)
        {
            // add to my databse
            var db = new GolfCourseContext();

            db.GolfCourse.Add(golfCourse);
            db.SaveChanges();
            // return the newly created golf course
            return(golfCourse);
        }
        public async Task <IActionResult> Create([Bind("GolfCourseID,Name")] GolfCourse golfCourse)
        {
            if (ModelState.IsValid)
            {
                _context.Add(golfCourse);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(golfCourse));
        }
Exemple #8
0
    // Use this for initialization
    void Start()
    {
        //AddAgent();
        //StartCoroutine(TestAddAgents());

        //StartCoroutine(StartWave(0));
        ChangeState(STATE.BUILD);

        instance = this;

        SetMoney(400);
    }
Exemple #9
0
        public ActionResult DeleteConfirmed(int id)
        {
            if (!Session["användare"].Equals("Admin"))
            {
                return(RedirectToAction("Spela", "Home", null));
            }

            GolfCourse golfCourse = db.GolfCourse.Find(id);

            db.GolfCourse.Remove(golfCourse);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: GolfCourses/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GolfCourse golfCourse = db.Courses.Find(id);

            if (golfCourse == null)
            {
                return(HttpNotFound());
            }
            return(View(golfCourse));
        }
Exemple #11
0
        public ActionResult Edit([Bind(Include = "ID,Name,Location,Image")] GolfCourse golfCourse)
        {
            if (!Session["användare"].Equals("Admin"))
            {
                return(RedirectToAction("Spela", "Home", null));
            }

            if (ModelState.IsValid)
            {
                db.Entry(golfCourse).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(golfCourse));
        }
Exemple #12
0
        public GolfCourseContract(GolfCourse golfCourse)
        {
            decimal defaultDecimal = 0;

            Address       = (golfCourse.Address == null) ? string.Empty : golfCourse.Address;
            CourseName    = (golfCourse.CourseName == null) ? string.Empty : golfCourse.CourseName;
            CourseType    = (golfCourse.CourseType == null) ? string.Empty : golfCourse.CourseType;
            City          = (golfCourse.City == null) ? string.Empty : golfCourse.City;
            GolfCourse_Id = golfCourse.GolfCourse_Id;
            Latitude      = (golfCourse.Latitude == null) ? defaultDecimal : (decimal)golfCourse.Latitude;
            Longitude     = (golfCourse.Longitude == null) ? defaultDecimal : (decimal)golfCourse.Longitude;
            PhoneNumber   = (golfCourse.PhoneNumber == null) ? string.Empty : golfCourse.PhoneNumber;
            State         = (golfCourse.State == null) ? string.Empty : golfCourse.State;
            ZipCode       = (golfCourse.ZipCode == null) ? string.Empty : golfCourse.ZipCode;
        }
        public ActionResult Edit([Bind(Include = "GolfCourseID,Name,CourseSlope,CourseRating,Holes")] GolfCourse golfCourse)
        {
            if (ModelState.IsValid)
            {
                foreach (var hole in golfCourse.Holes)
                {
                    db.Entry(hole).State = EntityState.Modified;
                }

                db.Entry(golfCourse).State = EntityState.Modified;

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(golfCourse));
        }
        public ActionResult <GolfCourse> Put([FromRoute] int id, [FromBody] GolfCourse updatedData)
        {
            // TODO: The actual update
            var db         = new GolfCourseContext();
            var golfCourse = db.GolfCourse.FirstOrDefault(course => course.Id == id);

            golfCourse.Location      = updatedData.Location;
            golfCourse.Name          = updatedData.Name;
            golfCourse.NumberOfHoles = updatedData.NumberOfHoles;
            golfCourse.Rank          = updatedData.Rank;
            golfCourse.TotalYards    = updatedData.TotalYards;
            golfCourse.Par           = updatedData.Par;

            db.SaveChanges();

            return(golfCourse);
        }
Exemple #15
0
        // GET: GolfCourses/Edit/5
        public ActionResult Edit(int?id)
        {
            if (!Session["användare"].Equals("Admin"))
            {
                return(RedirectToAction("Spela", "Home", null));
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GolfCourse golfCourse = db.GolfCourse.Find(id);

            if (golfCourse == null)
            {
                return(HttpNotFound());
            }
            return(View(golfCourse));
        }
        // GET: GolfCourses/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GolfCourse golfCourse = db.Courses.Find(id);

            if (golfCourse == null)
            {
                return(HttpNotFound());
            }

/*            var holes = from h in db.GolfHoles
 *                      where h.GolfCourseID == id
 *                      select h;
 *          golfCourse.Holes = holes.ToList<GolfHole>();*/
            return(View(golfCourse));
        }
Exemple #17
0
        public async Task <IActionResult> Create([Bind("GolfCourseId,Name")] GolfCourse golfCourse)
        {
            if (ModelState.IsValid)
            {
                _context.Add(golfCourse);
                await _context.SaveChangesAsync();


                if (!string.IsNullOrEmpty(Request.Form["Create"]))
                {
                    return(RedirectToAction(nameof(Index)));
                }

                if (!string.IsNullOrEmpty(Request.Form["Continue"])) //Continue to add tee
                {
                    return(RedirectToAction(nameof(Create), "TeeBoxes", golfCourse));
                }
            }
            return(View(golfCourse));
        }
        public static GolfCourse getSingleGolfCourseFromText(String text)
        {
            XDocument golfC = XDocument.Load(GenerateStreamFromString(text));//xmlparser

            List <Hole> trous     = new List <Hole>();
            var         nodeGolfC = golfC.Element("GolfCourse");

            foreach (var trou in nodeGolfC.Element("Coordinates").Elements("Trou"))//get the list of all holes
            {
                MyPosition pos = new MyPosition(Double.Parse(trou.Element("lat").Value.Replace(',', '.'), NumberStyles.Any, CultureInfo.InvariantCulture), Double.Parse(trou.Element("lng").Value.Replace(',', '.'), NumberStyles.Any, CultureInfo.InvariantCulture));
                trous.Add(new Hole(pos, int.Parse(trou.Element("par").Value)));
            }
            GolfCourse gc = new GolfCourse(nodeGolfC.Element("Name").Value, nodeGolfC.Element("NomGolf").Value, trous);

            /* foreach (Hole h in trous)
             * {
             *   h.GolfCourse = gc;
             * }*/
            return(gc);
        }
        public ActionResult Create([Bind(Include = "GolfCourseID,Name,CourseSlope,CourseRating")] GolfCourse golfCourse)
        {
            if (ModelState.IsValid)
            {
                //need to put a try catch here to maker sure the db action succeeds - primary keys may be invalid
                db.Courses.Add(golfCourse);
                db.SaveChanges();
                for (var i = 0; i < 18; i++)
                {
                    var h = new GolfHole();
                    h.HoleNum      = i + 1;
                    h.Par          = 4;
                    h.GolfCourseID = golfCourse.GolfCourseID;
                    db.GolfHoles.Add(h);
                }
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(golfCourse));
        }
Exemple #20
0
        public async Task <bool> EditGolfCourseProperties(GolfCourse editedCourse)
        {
            try
            {
                var golfCourse = await _dataEntities.GolfCourses.Where(gc => gc.Id.Equals(editedCourse.Id)).FirstOrDefaultAsync();

                if (golfCourse != null)
                {
                    golfCourse = editedCourse;
                    _dataEntities.GolfCourses.AddOrUpdate <GolfCourse>(golfCourse);
                    await _dataEntities.SaveChangesAsync();
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                e.GetBaseException();
                return(false);
            }
            return(true);
        }
Exemple #21
0
        protected override void Seed(GolfTourDAL.EF.GolfTourEntities context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.
            var golfers = new List <Golfer>
            {
                new Golfer {
                    Name = "Gert", Surname = "Coetzee"
                },
                new Golfer {
                    Name = "Craig", Surname = "Lazar"
                },
                new Golfer {
                    Name = "Hano", Surname = "Pano"
                }
            };

            golfers.ForEach(g => context.Golfers.AddOrUpdate(g));

            var testCourse = new GolfCourse {
                Name = "Durban Country Club"
            };

            context.GolfCourses.AddOrUpdate(testCourse);

            var holes = new List <CourseHole>
            {
                new CourseHole {
                    HoleNumber = 1, Par = 4, Stroke = 1
                },
                new CourseHole {
                    HoleNumber = 2, Par = 4, Stroke = 2
                },
                new CourseHole {
                    HoleNumber = 3, Par = 3, Stroke = 3
                },
                new CourseHole {
                    HoleNumber = 4, Par = 4, Stroke = 4
                },
                new CourseHole {
                    HoleNumber = 5, Par = 3, Stroke = 5
                },
                new CourseHole {
                    HoleNumber = 6, Par = 4, Stroke = 6
                },
                new CourseHole {
                    HoleNumber = 7, Par = 5, Stroke = 7
                },
                new CourseHole {
                    HoleNumber = 8, Par = 4, Stroke = 8
                },
                new CourseHole {
                    HoleNumber = 9, Par = 5, Stroke = 9
                }
            };

            testCourse.Holes = holes;

            var courseRound = new CourseRound
            {
                Date       = DateTime.Now.Subtract(new TimeSpan(0, 1, 0)),
                ScoreType  = ScoreType.MatchPlay,
                GolfCourse = testCourse
            };

            context.CourseRound.AddOrUpdate(courseRound);

            var courseRoundHoles = new List <CourseRoundHole>
            {
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 1),
                    Golfer     = golfers[1],
                    Strokes    = 4
                },
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 1),
                    Golfer     = golfers[2],
                    Strokes    = 5
                },
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 2),
                    Golfer     = golfers[1],
                    Strokes    = 3
                },
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 2),
                    Golfer     = golfers[2],
                    Strokes    = 4
                },
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 3),
                    Golfer     = golfers[2],
                    Strokes    = 6
                },
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 3),
                    Golfer     = golfers[2],
                    Strokes    = 5
                }
            };

            courseRoundHoles.ForEach(r => context.CourseRoundHoles.AddOrUpdate(r));

            context.SaveChanges();
        }
Exemple #22
0
        public async Task <bool> RequestEditGolfCourseProperties(EditCourseViewModel editCourseVm, GolfCourse golfCourseInFocus)
        {
            if (golfCourseInFocus.Name != editCourseVm.NewCourseName)
            {
                golfCourseInFocus.Name = editCourseVm.NewCourseName;
            }
            if (golfCourseInFocus.PhoneNumber != editCourseVm.NewCoursePhone)
            {
                golfCourseInFocus.PhoneNumber = editCourseVm.NewCoursePhone;
            }
            if (golfCourseInFocus.Type != editCourseVm.NewCourseType)
            {
                golfCourseInFocus.Type = editCourseVm.NewCourseType;
            }

            var result = await _golfCourseRepository.EditGolfCourseProperties(golfCourseInFocus);

            return(result);
        }
Exemple #23
0
        protected override void Seed(GolfTourEntities context)
        {
            var golfers = new List <Golfer>
            {
                new Golfer {
                    Name = "Gert", Surname = "Coetzee"
                },
                new Golfer {
                    Name = "Craig", Surname = "Lazar"
                },
                new Golfer {
                    Name = "Hano", Surname = "Pano"
                }
            };

            golfers.ForEach(g => context.Golfers.Add(g));

            var testCourse = new GolfCourse {
                Name = "Durban Country Club"
            };

            context.GolfCourses.Add(testCourse);

            var holes = new List <CourseHole>
            {
                new CourseHole {
                    HoleNumber = 1, Par = 4, Stroke = 1
                },
                new CourseHole {
                    HoleNumber = 2, Par = 4, Stroke = 2
                },
                new CourseHole {
                    HoleNumber = 3, Par = 3, Stroke = 3
                },
                new CourseHole {
                    HoleNumber = 4, Par = 4, Stroke = 4
                },
                new CourseHole {
                    HoleNumber = 5, Par = 3, Stroke = 5
                },
                new CourseHole {
                    HoleNumber = 6, Par = 4, Stroke = 6
                },
                new CourseHole {
                    HoleNumber = 7, Par = 5, Stroke = 7
                },
                new CourseHole {
                    HoleNumber = 8, Par = 4, Stroke = 8
                },
                new CourseHole {
                    HoleNumber = 9, Par = 5, Stroke = 9
                }
            };

            testCourse.Holes = holes;

            var courseRound = new CourseRound
            {
                Date       = DateTime.Now.Subtract(new TimeSpan(0, 1, 0)),
                ScoreType  = ScoreType.MatchPlay,
                GolfCourse = testCourse
            };

            context.CourseRound.Add(courseRound);

            var courseRoundHoles = new List <CourseRoundHole>
            {
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 1),
                    Golfer     = golfers[1],
                    Strokes    = 4
                },
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 1),
                    Golfer     = golfers[2],
                    Strokes    = 5
                },
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 2),
                    Golfer     = golfers[1],
                    Strokes    = 3
                },
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 2),
                    Golfer     = golfers[2],
                    Strokes    = 4
                },
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 3),
                    Golfer     = golfers[2],
                    Strokes    = 6
                },
                new CourseRoundHole
                {
                    CourseRoud = courseRound,
                    CourseHole = courseRound.GolfCourse.Holes.FirstOrDefault(h => h.HoleNumber == 3),
                    Golfer     = golfers[2],
                    Strokes    = 5
                }
            };

            courseRoundHoles.ForEach(r => context.CourseRoundHoles.Add(r));

            context.SaveChanges();
        }
Exemple #24
0
 public void SetupAgent(GolfCourse course)
 {
     _course  = course;
     _curHole = course.holes[0];
     ChangeState(State.WALKING_TO_HOLE);
 }
 public void changeGolfCourse(GolfCourse g)
 {
     this.golfCourse          = g;
     this.golfCourseName.Text = this.golfCourse.Name;
 }
        public static void SeedDb(BAISTGolfCourseDbContext database)
        {
            var employee1 = new Employees
            {
                FirstName    = "Clerk",
                LastName     = "Mason",
                EmailAddress = "*****@*****.**",
                Address1     = "630 McAllister Loop SW",
                Phone        = "(647)608-1541",
                DateCreated  = DateTime.UtcNow,
                DateOfBirth  = new DateTime(1993, 2, 19),
                Gender       = Enums.Gender.Male,
                Role         = Enums.Role.Administrator,
                UserName     = "******",
                PCode        = "T6E 123",
                Province     = "Alberta",
                City         = "Edmonton"
            };

            employee1.PasswordSalt = PasswordEncryptor.CreateSalt(5);
            employee1.Password     = PasswordEncryptor.CreatePasswordHash("Course2019@",
                                                                          employee1.PasswordSalt);

            var member1 = new Members
            {
                FirstName      = "Stuart",
                LastName       = "Mason",
                EmailAddress   = "*****@*****.**",
                Address1       = "630 McAllister Loop SW",
                Phone          = "(647)608-1541",
                DateCreated    = DateTime.UtcNow,
                DateOfBirth    = new DateTime(1989, 2, 9),
                Gender         = Enums.Gender.Female,
                City           = "Toronto",
                Province       = "Ontario",
                PostalCode     = "T6W 1N3",
                MembershipID   = "123456A",
                MembershipType = Enums.MembershipStatus.Gold
            };


            var counter = 6;

            for (int i = 0; i < counter; i++)
            {
                var memberCreate = new Members
                {
                    FirstName      = "Stuart" + i,
                    LastName       = "Mason" + i,
                    EmailAddress   = "stuartMember" + i + "@gmail.com",
                    Address1       = "630 McAllister Loop SW",
                    Phone          = "(647)608-1541",
                    DateCreated    = DateTime.UtcNow,
                    DateOfBirth    = new DateTime(1989, 2, (9 + i)),
                    Gender         = Enums.Gender.Female,
                    City           = "Toronto",
                    Province       = "Ontario",
                    PostalCode     = "T6W 1N3",
                    MembershipType = Enums.MembershipStatus.Gold,
                    MembershipID   = "12356A" + i,
                };

                memberCreate.PasswordSalt = PasswordEncryptor.CreateSalt(5);
                memberCreate.Password     = PasswordEncryptor.CreatePasswordHash("Course2019",
                                                                                 memberCreate.PasswordSalt);

                database.Members.AddOrUpdate(p => p.EmailAddress, memberCreate);
            }

            member1.PasswordSalt = PasswordEncryptor.CreateSalt(5);
            member1.Password     = PasswordEncryptor.CreatePasswordHash("Course2019",
                                                                        member1.PasswordSalt);

            database.Members.AddOrUpdate(p => p.EmailAddress, member1);
            database.Employees.AddOrUpdate(p => p.EmailAddress, employee1);

            var golfClub = new GolfCourse
            {
                CourseName  = "Green Hill",
                Rating      = 70,
                Slope       = 5,
                DateAdded   = DateTime.UtcNow,
                YearFounded = new DateTime(1998, 2, 19)
            };

            var golfClub2 = new GolfCourse
            {
                CourseName  = "Flat Green",
                Rating      = 75,
                Slope       = 5,
                DateAdded   = DateTime.UtcNow,
                YearFounded = new DateTime(1998, 2, 19)
            };

            database.GolfCourses.AddOrUpdate(p => p.ID, golfClub);
            database.GolfCourses.AddOrUpdate(p => p.ID, golfClub2);

            database.SaveChanges();
            DateTime now = DateTime.Now;
            var      validStartTeeTime = new DateTime(now.Year, /*DateTime.*/ now.Month,
                                                      /* DateTime*/ now.Day + 1, 10, 0, 0);

            var teeTime = new TeeTime
            {
                DateCreated  = DateTime.Now,
                StartDate    = validStartTeeTime,
                EndDate      = validStartTeeTime.AddMinutes(7),
                Status       = Enums.TeeTimeStatus.Open,
                GolfCourseID = golfClub.ID
            };
            var teeTimeTwo = new TeeTime
            {
                DateCreated  = DateTime.Now,
                StartDate    = validStartTeeTime.AddMinutes(14),
                EndDate      = validStartTeeTime.AddMinutes(21),
                Status       = Enums.TeeTimeStatus.Open,
                GolfCourseID = golfClub2.ID
            };

            var teeTime3 = new TeeTime
            {
                DateCreated  = DateTime.Now,
                StartDate    = validStartTeeTime.AddMinutes(28),
                EndDate      = validStartTeeTime.AddMinutes(35),
                Status       = Enums.TeeTimeStatus.Open,
                GolfCourseID = golfClub.ID
            };


            var teeTime4 = new TeeTime
            {
                DateCreated  = DateTime.Now,
                StartDate    = validStartTeeTime.AddMinutes(42),
                EndDate      = validStartTeeTime.AddMinutes(49),
                Status       = Enums.TeeTimeStatus.Open,
                GolfCourseID = golfClub2.ID
            };

            var teeTime5 = new TeeTime
            {
                DateCreated  = DateTime.Now,
                StartDate    = validStartTeeTime.AddMinutes(56),
                EndDate      = validStartTeeTime.AddMinutes(63),
                Status       = Enums.TeeTimeStatus.Open,
                GolfCourseID = golfClub.ID
            };

            database.TeeTime.AddOrUpdate(p => new { p.GolfCourseID, p.StartDate }, teeTime);
            database.TeeTime.AddOrUpdate(p => new { p.GolfCourseID, p.StartDate }, teeTimeTwo);
            database.TeeTime.AddOrUpdate(p => new { p.GolfCourseID, p.StartDate }, teeTime3);
            database.TeeTime.AddOrUpdate(p => new { p.GolfCourseID, p.StartDate }, teeTime4);
            database.TeeTime.AddOrUpdate(p => new { p.GolfCourseID, p.StartDate }, teeTime5);

            for (int i = 1; i < 19; i++)
            {
                var hole = new Hole
                {
                    Name = i.ToString()
                };
                database.Hole.AddOrUpdate(p => p.Name, hole);
            }
            database.SaveChanges();
        }
Exemple #27
0
 public void Remove(GolfCourse golfCourse)
 {
     throw new NotImplementedException();
 }
        private static void mapInformationToEntity(GolfClubInformation golfClubToSave, GolfClub golfClub, GolfTrackerContext context)
        {
            golfClub.Name     = golfClubToSave.Name;
            golfClub.Location = golfClubToSave.Location;

            foreach (var courseToSave in golfClubToSave.GolfCourses)
            {
                if (courseToSave.Id == Guid.Empty)
                {
                    courseToSave.Id = Guid.NewGuid();
                }

                var course = golfClub.GolfCourses
                             .FirstOrDefault(c => c.Id == courseToSave.Id);
                if (course == null)
                {
                    course = new GolfCourse {
                        Id = courseToSave.Id
                    };
                    golfClub.GolfCourses.Add(course);
                }
                course.GolfClubId = golfClub.Id;
                course.Name       = courseToSave.Name;

                foreach (var teeToSave in courseToSave.Tees)
                {
                    if (teeToSave.Id == Guid.Empty)
                    {
                        teeToSave.Id = Guid.NewGuid();
                    }

                    var tee = course.Tees
                              .FirstOrDefault(t => t.Id == teeToSave.Id);
                    if (tee == null)
                    {
                        tee = new Tee {
                            Id = teeToSave.Id
                        };
                        course.Tees.Add(tee);
                    }
                    tee.GolfCourseId = course.Id;
                    tee.TeeName      = teeToSave.TeeName;
                    tee.Gender       = teeToSave.Gender;
                    tee.Length       = teeToSave.Length;
                    tee.Par          = teeToSave.Par;
                    tee.Rating       = teeToSave.Rating;
                    tee.Slope        = teeToSave.Slope;
                }

                //remove deleted tees;
                foreach (var tee in course.Tees)
                {
                    if (!courseToSave.Tees.Any(t => t.Id == tee.Id))
                    {
                        context.Entry(tee).State = EntityState.Deleted;
                    }
                }
            }

            //remove deleted courses
            foreach (var course in golfClub.GolfCourses)
            {
                if (!golfClubToSave.GolfCourses.Any(c => c.Id == course.Id))
                {
                    context.Entry(course).State = EntityState.Deleted;
                }
            }
        }
Exemple #29
0
 protected CourseBuilder()
 {
     GolfCourse = new GolfCourse();
 }
Exemple #30
0
 public GolfCourse Update(GolfCourse golfCourse)
 {
     throw new NotImplementedException();
 }