/// <summary>
        /// Get All Session Detail
        /// </summary>
        /// <param name="employeeId"></param>
        /// <returns></returns>

        public JsonResult GetAllSessionDetail(long employeeId)
        {
            SessionMasterViewModel sessionMasterViewModel = new SessionMasterViewModel()
            {
            };

            HttpResponseMessage response = new APIHelper.APICallMethod().GetHttpResponseMessage("GetAllSessionDetail", "AdminPanel", sessionMasterViewModel);

            if (response.IsSuccessStatusCode)
            {
                var data = response.Content.ReadAsStringAsync().Result;
                ViewModel.ResponseModel.ResponseViewModel <List <ViewModel.SessionMasterViewModel> > dbBookingDetails = JsonConvert.DeserializeObject <ViewModel.ResponseModel.ResponseViewModel <List <ViewModel.SessionMasterViewModel> > >(data);
                if (dbBookingDetails.IdentityResult.Status == true)
                {
                    return(Json(new { code = 0, message = dbBookingDetails.Content }));
                }
                else
                {
                    if (dbBookingDetails.IdentityResult.Message == "Invalid access details, Please log-out.")
                    {
                        return(Json(new { code = -99, message = "Please Login Again" }));
                    }
                    else
                    {
                        return(Json(new { code = -1, message = dbBookingDetails.IdentityResult.Message }));
                    }
                }
            }
            else
            {
                return(Json(new { code = -2, message = "failed" }));
            }
        }
        public List<ViewModel.SessionMasterViewModel> GetAllSessionDetail()
        {
            HttpResponseMessage response = new APIHelper.APICallMethod().GetHttpResponseMessage("GetAllSessionDetail", "AdminPanel", new SessionMasterViewModel());
            if (response.IsSuccessStatusCode)
            {
                var data = response.Content.ReadAsStringAsync().Result;
                ViewModel.ResponseModel.ResponseViewModel<List<ViewModel.SessionMasterViewModel>> dbBookingDetails = JsonConvert.DeserializeObject<ViewModel.ResponseModel.ResponseViewModel<List<ViewModel.SessionMasterViewModel>>>(data);
                if (dbBookingDetails.IdentityResult.Status == true)
                {
                    List<ViewModel.SessionMasterViewModel> sessionMasterViewModels = new List<SessionMasterViewModel>();
                    foreach(var item in dbBookingDetails.Content)
                    {
                        SessionMasterViewModel sessionMasterViewModel = new SessionMasterViewModel()
                        {
                            SessionId= item.SessionId,
                            SessionName= item.SessionName +" ("+ item.BookingTypeName +")"
                        };
                        sessionMasterViewModels.Add(sessionMasterViewModel);

                    }
                    return sessionMasterViewModels;
                }
                else
                {
                    return new List<SessionMasterViewModel>();
                }
            }
            else
            {
                return new List<SessionMasterViewModel>();
            }

        }
        public JsonResult DeleteSessionPopUp(long sessionId)
        {
            SessionMasterViewModel sessionMasterViewModel = new SessionMasterViewModel()
            {
                SessionId = sessionId,
            };
            string convertedData = Common.HtmlHelper.RenderViewToString(this.ControllerContext, "~/Views/SessionDetail/_Delete.cshtml", sessionMasterViewModel);

            return(Json(new { code = 0, message = convertedData }));
        }
        /// <summary>
        /// Update Session Details Popup
        /// </summary>
        /// <param name="SessionId">Id Of Session</param>
        /// <param name="StartTime">Start Time Of Session</param>
        /// <param name="EndTime">End Time Of Session</param>
        /// <param name="Name">Name Of Session</param>
        /// <returns>Return Detail For PopUp In String Format</returns>
        public JsonResult UpdateSessionPopUp(long SessionId, TimeSpan StartTime, TimeSpan EndTime, string Name)
        {
            SessionMasterViewModel sessionMasterViewModel = new SessionMasterViewModel()
            {
                SessionName = Name,
                SessionId   = SessionId,
                StartTime   = StartTime,
                EndTime     = EndTime
            };
            string convertedData = Common.HtmlHelper.RenderViewToString(this.ControllerContext, "~/Views/SessionDetail/_Update.cshtml", sessionMasterViewModel);

            return(Json(new { code = 0, message = convertedData }));
        }
        // GET: OnSpotBooking
        public ActionResult Index(long?sessionSlotId, long?coursePairingId, long?sessionId)
        {
            SaveBookingViewModel saveBookingViewModel = new SaveBookingViewModel()
            {
                SlotSessionId   = sessionSlotId,
                CoursePairingId = coursePairingId,
                SessionId       = sessionId
            };
            SessionMasterViewModel sessionMasterViewModel = new SessionMasterViewModel()
            {
            };

            HttpResponseMessage response = new APIHelper.APICallMethod().GetHttpResponseMessage("GetAllSessionDetail", "AdminPanel", sessionMasterViewModel);

            if (response.IsSuccessStatusCode)
            {
                var data = response.Content.ReadAsStringAsync().Result;
                ViewModel.ResponseModel.ResponseViewModel <List <ViewModel.SessionMasterViewModel> > dbBookingDetails = JsonConvert.DeserializeObject <ViewModel.ResponseModel.ResponseViewModel <List <ViewModel.SessionMasterViewModel> > >(data);
                if (dbBookingDetails.IdentityResult.Status == true)
                {
                    TempData["SessionList"]    = dbBookingDetails.Content.Where(x => x.BookingTypeId == 1).ToList();
                    TempData["SessionListBDR"] = dbBookingDetails.Content.Where(x => x.BookingTypeId == 2).ToList();

                    //  return Json(new { code = 0, message = dbBookingDetails.Content });
                }
                else
                {
                    // return Json(new { code = -1, message = dbBookingDetails.IdentityResult.Message });
                }
            }
            else
            {
                //  return Json(new { code = -2, message = "failed" });
            }

            HttpResponseMessage response1 = new APIHelper.APICallMethod().GetHttpResponseMessage("GetBucketDetailList", "AdminPanel", new BucketViewModel());

            if (response1.IsSuccessStatusCode)
            {
                var data = response1.Content.ReadAsStringAsync().Result;
                ViewModel.ResponseModel.ResponseViewModel <List <ViewModel.BucketViewModel> > dbBookingDetails = JsonConvert.DeserializeObject <ViewModel.ResponseModel.ResponseViewModel <List <ViewModel.BucketViewModel> > >(data);
                if (dbBookingDetails.IdentityResult.Status == true)
                {
                    TempData["BucketList"] = dbBookingDetails.Content;
                    //  return Json(new { code = 0, message = dbBookingDetails.Content });
                }
                else
                {
                    // return Json(new { code = -1, message = dbBookingDetails.IdentityResult.Message });
                }
            }
            else
            {
                //  return Json(new { code = -2, message = "failed" });
            }

            HttpResponseMessage response2 = new APIHelper.APICallMethod().GetHttpResponseMessage("GetAllMemberType", "AdminPanel", new MemberTypeViewModel());

            if (response2.IsSuccessStatusCode)
            {
                var data = response2.Content.ReadAsStringAsync().Result;
                ViewModel.ResponseModel.ResponseViewModel <List <ViewModel.MemberTypeViewModel> > dbBookingDetails = JsonConvert.DeserializeObject <ViewModel.ResponseModel.ResponseViewModel <List <ViewModel.MemberTypeViewModel> > >(data);
                if (dbBookingDetails.IdentityResult.Status == true)
                {
                    TempData["MemberTypeList"] = dbBookingDetails.Content;
                    //  return Json(new { code = 0, message = dbBookingDetails.Content });
                }
                else
                {
                    // return Json(new { code = -1, message = dbBookingDetails.IdentityResult.Message });
                }
            }
            else
            {
                //  return Json(new { code = -2, message = "failed" });
            }

            HttpResponseMessage response3 = new APIHelper.APICallMethod().GetHttpResponseMessage("GetAllEquipmentType", "AdminPanel", new EquipmentViewModel());

            if (response3.IsSuccessStatusCode)
            {
                var data = response3.Content.ReadAsStringAsync().Result;
                ViewModel.ResponseModel.ResponseViewModel <List <ViewModel.EquipmentViewModel> > dbBookingDetails = JsonConvert.DeserializeObject <ViewModel.ResponseModel.ResponseViewModel <List <ViewModel.EquipmentViewModel> > >(data);
                if (dbBookingDetails.IdentityResult.Status == true)
                {
                    TempData["EquipmentList"] = dbBookingDetails.Content;
                    //  return Json(new { code = 0, message = dbBookingDetails.Content });
                }
                else
                {
                    // return Json(new { code = -1, message = dbBookingDetails.IdentityResult.Message });
                }
            }
            else
            {
                //  return Json(new { code = -2, message = "failed" });
            }

            return(View(saveBookingViewModel));
        }