Esempio n. 1
0
        public CreateInputModel GetInputModel(string userIdentity)
        {
            var createInputModel = new CreateInputModel();

            var holes    = _holeRepository.GetAll().ToList();
            var handicap = _handicapRepository.GetAll().ToList();

            var member = _memberRepository.FindBy(x => x.EmailAddress == userIdentity).SingleOrDefault();

            var reservations = _reservationRepository.GetNormalListForMember(member.ID).ToList();

            createInputModel.Holes = holes.Select
                                         (x => (new HoleViewModel {
                ID = x.ID, Name = x.Name
            })).ToList();
            createInputModel.HoleEntry = holes.Select
                                             (x => new HoleEntryViewModels {
                HoleID = x.ID, HoleName = x.Name, Score = 0
            }).ToList();

            createInputModel.Handicaps = handicap.Select
                                             (x => (new HandicapViewModel {
                ID = x.Id, Name = x.Name
            })).ToList();

            createInputModel.Reservations = reservations.Select
                                                (x => (new ReservationScoreViewModel
            {
                ID = x.ID,
                Date = x.TeeTime.StartDate.ToString("f")
                       + " - " + x.TeeTime.EndDate.ToString("f")
            })).ToList();

            return(createInputModel);
        }
Esempio n. 2
0
        public CreateInputModel CreatePlayerScore(CreateInputModel model, string userIdentity)
        {
            var member = _memberRepository.FindBy(x => x.EmailAddress == userIdentity).
                         SingleOrDefault();

            var reservation = _reservationRepository.GetWithGolfCourse(model.ReservationID);

            var golfCourse = reservation.TeeTime.GolfCourse;

            var calculatedScore = model.Score - (golfCourse.Rating / golfCourse.Slope * 113);



            var playerScoreModel = new PlayerScores
            {
                ReservationID = model.ReservationID,
                MemberID      = member.ID,
                Score         = calculatedScore,
                HoleId        = model.HoleID,
                HandicapId    = model.HandicapID,
                DateCreated   = DateTime.UtcNow,
                DatePlayed    = model.DatePlayed,
            };

            _playerScoreRepository.Add(playerScoreModel);
            _playerScoreRepository.SaveChanges();

            return(model);
        }