public void Booking(int id)
        {
            var userId  = User.Identity.GetUserId();
            var booking = db.CourseBookings.FirstOrDefault(b => (b.TrainingCourseId == id && b.AspNetUserId == userId));

            if (booking != null)
            {
                Response.Write("<script>alert('you have already booked this course'); history.go(-1);</script>");
                return;
            }
            var coures = db.TrainingCourses.FirstOrDefault(c => c.Id == id);

            if (coures == null)
            {
                Response.Write("<script>alert('course id is invalid'); history.go(-1);</script>");
                return;
            }
            if (coures.IsOver)
            {
                Response.Write("<script>alert('The course is over, you cannot book this course.'); history.go(-1);</script>");
            }
            var bookingModel = new CourseBooking();

            bookingModel.TrainingCourseId = id;
            bookingModel.AspNetUserId     = userId;
            bookingModel.BookingTime      = DateTime.Now;
            db.CourseBookings.Add(bookingModel);
            db.SaveChanges();
            Response.Write("<script>alert('adding successfully'); window.location.href=document.referrer;</script>");
            RemoveUserWishList(id);
            return;
        }
 private void SendEmailToToach(IIdentity identity, CourseBooking booking)
 {
     UserManager.SendEmail(booking.TrainingCourse.AspNetUserId, "Course Cancelation", "The user " + identity.Name + " has cancelled your course: " + booking.TrainingCourse.CourseName);
 }
 private void SendEmailToUser(IIdentity identity, CourseBooking booking)
 {
     UserManager.SendEmail(booking.AspNetUserId, "Course Cancelation", "You course " + booking.TrainingCourse.CourseName + "has cancelled by your coach " + booking.TrainingCourse.AspNetUser.UserName);
 }