public bool CreateReservation(CreateReserveInputModel inputModel, string currentMemberID)
        {
            var currentMember = _memberRepository.FindBy(x => x.EmailAddress ==
                                                         currentMemberID).SingleOrDefault();

            var checkReservation = _reservationRepository.FindBy(x => x.MemberID ==
                                                                 currentMember.ID &&
                                                                 x.TeeTimeID == inputModel.TeetimeId).SingleOrDefault();

            if (checkReservation == null)
            {
                //Create Reservation For Current Member
                var reservationMember = new Reservations
                {
                    DateCreated = DateTime.UtcNow,
                    Status      = ReservationStatus.Accepted,
                    MemberID    = currentMember.ID,
                    TeeTimeID   = inputModel.TeetimeId
                };
                _reservationRepository.Add(reservationMember);
                _reservationRepository.SaveChanges();


                if (inputModel.Reservations.Count > 0)
                {
                    foreach (var reservation in inputModel.Reservations)
                    {
                        var check = _reservationRepository.FindBy(x => x.MemberID ==
                                                                  reservation.MemberId &&
                                                                  x.TeeTimeID == inputModel.TeetimeId).SingleOrDefault();

                        if (check == null)
                        {
                            var newReservation = new Reservations
                            {
                                DateCreated = DateTime.UtcNow,
                                Status      = (ReservationStatus)reservation.CurrentStatus,
                                MemberID    = reservation.MemberId,
                                TeeTimeID   = inputModel.TeetimeId
                            };
                            _reservationRepository.Add(newReservation);
                            _reservationRepository.SaveChanges();
                        }
                    }
                }
                return(true);
            }

            return(false);
        }
 public ActionResult Create(CreateReserveInputModel inputModel)
 {
     if (ModelState.IsValid)
     {
         var create = _reservationService.CreateReservation(inputModel, User.Identity.Name);
         if (create)
         {
             return(Json("OK", JsonRequestBehavior.AllowGet));
         }
         else
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
     }
     else
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
 }