public Response<RespLogin> Login(UserModel objUserModel)
        {
            List<RespLogin> objResp = new List<RespLogin>();
            Response<RespLogin> response = new Response<RespLogin>();
            try
            {
                objDBMethod = new DBMethod();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    objResp.Add(objDBMethod.Login(objUserModel));
                    switch (objResp[0].restKey)
                    {

                        case "0":
                            response.Create(false, Messages.WebError, Messages.AppVersion, objResp);
                            break;
                        case "1":
                            response.Create(true, Messages.FormatMessage(Messages.Success, "Logged in "), Messages.AppVersion, objResp);
                            break;
                        case "2":
                            response.Create(false, Messages.NotAllowedUser, Messages.AppVersion, objResp);
                            break;
                        case "3":
                            response.Create(false, Messages.InvalidPassword, Messages.AppVersion, objResp);
                            break;
                        case "4":
                            response.Create(false, Messages.EmailVerify, Messages.AppVersion, objResp);
                            break;
                        case "5":
                            response.Create(true, Messages.AccountCreated, Messages.AppVersion, objResp);
                            break;
                        case "6":
                            response.Create(false, "Sorry!!! we were unable to fetch your email please change your Facebook settings for email.", Messages.AppVersion, objResp);
                            break;
                        default:
                            response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
                            break;
                    }
                }
                else
                {
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

                }

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objUserModel);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            finally
            {
            }
            return response;
        }
        public Response<byte> AdminLogin(LoginModel Data)
        {
            Response<byte> objresponse = new Response<byte>();
            byte result = 0;
            if (Data != null)
            {

                // string pwd = Encryption.Encrypt(Data.Password, ConstantValues.EncryptionKey);
                using (var db = new UnseentalentdbDataContext())
                {
                    var user = db.tbl_users.Where(t => t.email == Data.Email).FirstOrDefault();
                    if (user != null)
                    {

                        if (user.password == Data.Password)
                        {
                            CurrentUser currentUser = new CurrentUser()
                            {
                                Email = user.email,
                                FirstName = user.firstname,
                                isEmailVerify = true,
                                LastName = user.lastname,
                                ProfilePic = user.profilepic,
                                userid = user.id,
                                userrole = GetUserRole(user.id),

                            };
                            string json = JsonConvert.SerializeObject(currentUser);
                            FormsAuthentication.SetAuthCookie(json, Data.RememberMe);
                            result = 2;//sucess login

                            objresponse.Create(true, 0, "Admin login successfully", result);
                        }
                        else
                        {
                            result = 0; //Username password not valid
                            objresponse.Create(false, 1, "Admin login successfully", result);
                        }
                    }
                    else
                    {
                        result = 0;
                        objresponse.Create(false, 1, "Admin login successfully", result);
                    }

                }
            }
            return objresponse;
        }
        public Response<bool> AddComment(ReqAddComment objreq)
        {
            bool rst = false;
            Response<bool> objresponse = new Response<bool>();
            UnseenTalentsMethod objmethod = new UnseenTalentsMethod();

            try
            {
                rst = objmethod.SaveVideoComments(objreq);
                objresponse.Create(true, 0, "Events for admin", rst);

            }
            catch (Exception ex)
            {
                objresponse.Create(false, -1, "", rst);
            }
            return objresponse;
        }
        public Response<string> CancelSession(UniqueRequestModel objReq)
        {
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();
            try
            {
                objDbMethodV2 = new wizz.Dal.DbMethodsV2();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        if (objDbMethodV2.CancelSession(objReq))
                            response.Create(true, Messages.FormatMessage(Messages.Success, "Session cancelled"), Messages.AppVersion, objResp);
                        else
                            response.Create(false, Messages.ErrorOccure, Messages.AppVersion, objResp);
                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
                else
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }

            return response;
        }
        public Response<string> SessionRatingByStudent(StudentRatingwModel objReq)
        {
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();
            try
            {
                Session obj = new Session();
                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        if (obj.SessionRatingByStudent(objReq))
                            response.Create(true, Messages.FormatMessage(Messages.Success, "You have rated"), Messages.AppVersion, objResp);
                        else
                            response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
        public Response<SessionEndResponseModel> EndSession(CreateSesion objReq)
        {
            Response<SessionEndResponseModel> response = new Response<SessionEndResponseModel>();
            List<SessionEndResponseModel> objResp = new List<SessionEndResponseModel>();
            try
            {
                Session obj = new Session();
                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        objResp.Add(obj.EndSession(objReq));
                        if (objResp.Count > 0)
                            response.Create(true, Messages.FormatMessage(Messages.Success, "You have ended session"), Messages.AppVersion, objResp);
                        else
                            response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
                else
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
        public Response<SessionInfo> GetSessionInfo(SessionEntity objReq)
        {
            Response<SessionInfo> response = new Response<SessionInfo>();
            List<SessionInfo> objResp = new List<SessionInfo>();
            try
            {
                Session obj = new Session();
                if (CheckRequestIsvalidornot(this.Request))
                {

                    objResp = obj.GetSessionInfo(objReq);

                    if (objResp != null)
                        response.Create(true, "Session Info", Messages.AppVersion, objResp);
                    else
                        response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

                }
            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
        public Response<SearchResponseTutorsModel> SaveStudentRequest(StudentRequestModelV2 objReq)
        {
            Response<SearchResponseTutorsModel> response = new Response<SearchResponseTutorsModel>();
            List<SearchResponseTutorsModel> objResp = new List<SearchResponseTutorsModel>();
            try
            {
                objDbMethodV2 = new wizz.Dal.DbMethodsV2();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        objResp.Add(objDbMethodV2.SaveStudentRequest(objReq));
                        if (objResp.Count > 0)
                            response.Create(true, Messages.FormatMessage(Messages.Success, "Student request saved"), Messages.AppVersion, objResp);
                        else
                            response.Create(false, "No tutor Found", Messages.AppVersion, objResp);
                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
                else
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }

            return response;
        }
        public Response<RespLogin> GetProfile(Entity objReq)
        {
            List<RespLogin> objResp = new List<RespLogin>();
            Response<RespLogin> response = new Response<RespLogin>();
            try
            {
                objDBMethod = new DBMethod();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    objResp.Add(objDBMethod.GetUser(objReq));
                    response.Create(true, "User Data", Messages.AppVersion, objResp);

                }
                else
                {
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

                }

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
        public Response<RespIsTeacherRequest> ChangeTutorStatus(IsTeacherRequest objReq)
        {
            Response<RespIsTeacherRequest> response = new Response<RespIsTeacherRequest>();
            List<RespIsTeacherRequest> objResp = new List<RespIsTeacherRequest>();
            try
            {
                WebMethods objDBMethod = new WebMethods();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        objResp.Add(objDBMethod.isTeacher(objReq));
                        if (objResp != null)
                        {

                            response.Create(true, Messages.FormatMessage(Messages.Success, "Status Changed"), Messages.AppVersion, objResp);

                        }
                        else
                        {

                            response.Create(false, Messages.ErrorOccure, Messages.AppVersion, objResp);
                        }



                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
                else
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            finally
            {
            }
            return response;
        }
        public Response<string> ChangePassword(ChangePasswordModel objReq)
        {
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();
            try
            {
                WebMethods objDBMethod = new WebMethods();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        switch (objDBMethod.ChangePassword(objReq))
                        {
                            case 1:
                                response.Create(true, Messages.FormatMessage(Messages.Success, "Password changed"), Messages.AppVersion, objResp);
                                break;
                            case 0:
                                response.Create(false, "User do not exists", Messages.AppVersion, objResp);
                                break;
                            case 2:
                                response.Create(false, "You are not allowed to change", Messages.AppVersion, objResp);
                                break;
                            case 3:
                                response.Create(false, "Your old password is wrong", Messages.AppVersion, objResp);
                                break;
                            default:
                                break;
                        }



                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
                else
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }

            return response;
        }
        public Response<string> UpdateUser()
        {
            UserModel objReq = new UserModel();
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();

            string resp = "";

            try
            {
                objDBMethod = new DBMethod();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    // //HttpContextWrapper objwrapper = GetHttpContext(this.Request);
                    //   HttpFileCollectionBase collection = objwrapper.Request.Files;

                    // string jsonvalue = objwrapper.Request.Form["json"];
                    HttpContextWrapper objwrapper = GetHttpContext(this.Request);
                    HttpFileCollectionBase collection = objwrapper.Request.Files;

                    //var s = HttpContext.Current.Request;
                    //string jsonVlaue = s.Form["json"];
                    //HttpFileCollectionBase o = s.Files;


                    string jsonvalue = objwrapper.Request.Form["json"];
                    if (!string.IsNullOrEmpty(jsonvalue))
                    {
                        objReq = JsonConvert.DeserializeObject<UserModel>(jsonvalue);
                        objReq.profilePic = SaveImage(collection, objReq.profilePic);

                        resp = objDBMethod.UpdateUser(objReq);
                        switch (Convert.ToInt32(resp))
                        {
                            case 0:
                                response.Create(false, "No user found", Messages.AppVersion, objResp);
                                break;
                            case 1:
                                response.Create(true, "Profile updated successfully", Messages.AppVersion, objResp);
                                break;
                            case 2:
                                response.Create(true, "You are blocked from admin", Messages.AppVersion, objResp);
                                break;

                            default:
                                break;
                        }
                    }
                    else
                    {
                        response.Create(false, Messages.InvalidReq, Messages.AppVersion, objResp);
                    }
                }
                else
                {
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

                }

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error(ex.Message, ex, session, ex.Message);
                response.Create(false, "Error occured while Processing Webservice request", Messages.AppVersion, objResp);
            }
            finally
            {
            }
            return response;
        }
 public Response<RespIsTutor> IsApprovedTutor(Entity objReq)
 {
     Response<RespIsTutor> response = new Response<RespIsTutor>();
     List<RespIsTutor> objResp = new List<RespIsTutor>();
     try
     {
         var obj = new Tutor();
         if (CheckRequestIsvalidornot(this.Request))
         {
             //  var resp = obj.IsApprovedTutor(objReq);
             objResp.Add(obj.IsApprovedTutor(objReq));
             response.Create(true, Messages.FormatMessage(Messages.Success, "Tutor "), Messages.AppVersion, objResp);
         }
         else
         {
             response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
         }
     }
     catch (Exception ex)
     {
         object session = new JavaScriptSerializer().Serialize(objReq);
         LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
         response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
     }
     return response;
 }
        public Response<SearchResponseTutorsModel> GetTutorBySearchCode(SearchTutorByCodeModel objReq)
        {
            Response<SearchResponseTutorsModel> response = new Response<SearchResponseTutorsModel>();
            List<SearchResponseTutorsModel> objResp = new List<SearchResponseTutorsModel>();


            try
            {
                if (ModelState.IsValid)
                {
                    objDbMethodV2 = new wizz.Dal.DbMethodsV2();
                    if (CheckRequestIsvalidornot(this.Request))
                    {
                        objResp.Add(objDbMethodV2.GetTutorBySearchCode(objReq));
                        if (objResp.Count > 0)
                            response.Create(true, "Tutor Data ", Messages.AppVersion, objResp);
                    }
                    else
                    {
                        response.Create(false, Messages.FormatMessage("Sorry no tutor found !!"), Messages.AppVersion, objResp);
                    }
                }
                else
                    response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
        public Response<string> SaveTutorProfile()
        {
            TutorProfileModel objReq = new TutorProfileModel();
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();
            int resp = 0;
            try
            {
                objDbMethodV2 = new wizz.Dal.DbMethodsV2();
                if (CheckRequestIsvalidornot(this.Request))
                {
                    HttpContextWrapper objwrapper = GetHttpContext(this.Request);
                    HttpFileCollectionBase collection = objwrapper.Request.Files;
                    string jsonvalue = objwrapper.Request.Form["json"];
                    if (!string.IsNullOrEmpty(jsonvalue))
                    {
                        objReq = JsonConvert.DeserializeObject<TutorProfileModel>(jsonvalue);

                        List<string> newFileNames = new List<string>();

                        newFileNames = SaveMultipleFiles(collection, "");
                        //    objReq.fileNameList = newFileNames;
                        if (newFileNames.Count == 0)
                            response.Create(false, "No Transcripts is uploaded please try again !", Messages.AppVersion, objResp);
                        else
                            resp = objDbMethodV2.SaveTutorProfile(objReq, newFileNames);
                        if (resp == 1)
                        {
                            response.Create(true, "Tutor profile info saved successfully !", Messages.AppVersion, objResp);

                        }
                        else
                        {
                            response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);

                        }

                    }

                }
                return response;
            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
        public Response<HistoryDetailsModel> GetHistoryDetailsForTutor(SessionHistoryRequestModel objReq)
        {
            Response<HistoryDetailsModel> response = new Response<HistoryDetailsModel>();
            List<HistoryDetailsModel> objResp = new List<HistoryDetailsModel>();


            try
            {
                var obj = new Session();
                if (CheckRequestIsvalidornot(this.Request))
                {
                    objResp = obj.GetHistoryDetailsForTutor(objReq);
                    response.Create(true, "History Details", Messages.AppVersion, objResp);
                }
                else
                {
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
                }
            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
        public Response<string> SendOtp(OtpModel objReq)
        {
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();
            try
            {
                objDbMethodV2 = new wizz.Dal.DbMethodsV2();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        string res = objDbMethodV2.SendOtp(objReq);
                        if (res == "4")
                        {
                            res = "Phone number already exists for a different user";
                        }

                        objResp.Add(res);
                        response.Create(false, Messages.FormatMessage(Messages.Success, "Otp"), Messages.AppVersion, objResp);

                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
                else
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }

            return response;
        }
        public Response<string> UpdateBadgeCounter(ReqBadgeCounter objReq)
        {

            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();
            if (objReq != null)
            {
                try
                {
                    bool var = CheckRequestIsvalidornot(this.Request);
                    if (var == false)
                    {
                        response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
                    }
                    else
                    {
                        objDBMethod = new DBMethod();
                        string rst = objDBMethod.UpdateBadgeCounter(objReq);
                        if (rst == "1")
                        {
                            response.Create(true, Messages.FormatMessage(Messages.Success, ""), Messages.AppVersion, objResp);
                        }
                        else
                        {
                            response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
                        }
                    }


                }
                catch (Exception ex)
                {

                    response.Create(false, Messages.FormatMessage(Messages.ErrorOccure, ""), Messages.AppVersion, objResp);
                }

            }
            else
            {
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure, ""), Messages.AppVersion, objResp);
            }


            return response;
        }
        public Response<GetSettingsModel> GetEligibleCourses(UserIdModel objReq)
        {
            Response<GetSettingsModel> response = new Response<GetSettingsModel>();
            List<GetSettingsModel> objResp = new List<GetSettingsModel>();


            try
            {
                if (ModelState.IsValid)
                {
                    objDbMethodV2 = new wizz.Dal.DbMethodsV2();
                    if (CheckRequestIsvalidornot(this.Request))
                    {
                        objResp.Add(objDbMethodV2.GetEligibleCourses(objReq));
                        response.Create(true, " Eligiblie courses", Messages.AppVersion, objResp);
                    }
                    else
                    {
                        response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
                    }
                }
                else
                    response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
        public Response<string> CreateGroup()
        {
            GroupModel objReq = new GroupModel();
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();

            try
            {
                DbMethodsV2 objDBMethodV2 = new DbMethodsV2();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    HttpContextWrapper objwrapper = GetHttpContext(this.Request);
                    HttpFileCollectionBase collection = objwrapper.Request.Files;

                    //var s = HttpContext.Current.Request;
                    //string jsonVlaue = s.Form["json"];
                    //HttpFileCollectionBase o = s.Files;


                    string jsonvalue = objwrapper.Request.Form["json"];
                    //     jsonvalue=HttpUtility.HtmlDecode(jsonvalue);
                    if (!string.IsNullOrEmpty(jsonvalue))
                    {
                        objReq = JsonConvert.DeserializeObject<GroupModel>(jsonvalue);
                        objReq.groupPic = SaveImage(collection, "");


                        if (objDBMethodV2.CreateGroup(objReq))
                        {
                            response.Create(true, Messages.FormatMessage(Messages.Success, "Created"), Messages.AppVersion, objResp);

                        }
                        else
                        {
                            response.Create(false, Messages.InvalidReq, Messages.AppVersion, objResp);
                        }
                    }
                    else
                    {
                        response.Create(false, Messages.InvalidReq, Messages.AppVersion, objResp);
                    }
                }
                else
                {
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

                }

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error(ex.Message, ex, session, ex.Message);
                response.Create(false, "Error occured while Processing Webservice request", Messages.AppVersion, objResp);
            }
            finally
            {
            }
            return response;
        }
 public Response<string> CreateSession(StartSessionModel objReq)
 {
     Response<string> response = new Response<string>();
     List<string> objResp = new List<string>();
     try
     {
         Session obj = new Session();
         if (CheckRequestIsvalidornot(this.Request))
         {
             objDbMethodV2 = new Dal.DbMethodsV2();
             if (objDbMethodV2.CreateSession(objReq))
                 response.Create(true, Messages.FormatMessage(Messages.Success, "Your session has been created"), Messages.AppVersion, objResp);
             else
                 response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
         }
     }
     catch (Exception ex)
     {
         object session = new JavaScriptSerializer().Serialize(objReq);
         LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
         response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
     }
     return response;
 }
        public Response<GetGroupModel> DeleteGroup(GetGroupRequest objReq)
        {
            // GroupModel objReq = new GroupModel();
            Response<GetGroupModel> response = new Response<GetGroupModel>();
            List<GetGroupModel> objResp = new List<GetGroupModel>();

            try
            {
                DbMethodsV2 objDBMethodV2 = new DbMethodsV2();

                if (CheckRequestIsvalidornot(this.Request))
                {




                    if (objDBMethodV2.DeleteGroup(objReq))
                    {
                        response.Create(true, Messages.FormatMessage(Messages.Success, "Group Deleted"), Messages.AppVersion, objResp);

                    }
                    else
                    {
                        response.Create(false, Messages.InvalidReq, Messages.AppVersion, objResp);
                    }

                }
                else
                {
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

                }

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error(ex.Message, ex, session, ex.Message);
                response.Create(false, "Error occured while Processing Webservice request", Messages.AppVersion, objResp);
            }
            finally
            {
            }
            return response;
        }
        public Response<SessionResponseTutorModel> GetSessionsForTutor(RequestEntity objReq)
        {
            Response<SessionResponseTutorModel> response = new Response<SessionResponseTutorModel>();
            List<SessionResponseTutorModel> objResp = new List<SessionResponseTutorModel>();
            try
            {
                Session obj = new Session();
                if (CheckRequestIsvalidornot(this.Request))
                {
                    objDbMethodV2 = new Dal.DbMethodsV2();
                    objResp = objDbMethodV2.GetSessionsForTutor(objReq);
                    if (objResp.Count > 0)
                        response.Create(true, Messages.FormatMessage(Messages.Success, "Session List"), Messages.AppVersion, objResp);
                    else
                        response.Create(true, Messages.FormatMessage(Messages.NoRecord), Messages.AppVersion, objResp);
                }
                else
                {

                    response.Create(false, Messages.FormatMessage(Messages.NotAllowedUser), Messages.AppVersion, objResp);
                }
            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
        public Response<StripeModel> GetStripeInfo(Entity objReq)
        {
            Response<StripeModel> response = new Response<StripeModel>();
            List<StripeModel> objResp = new List<StripeModel>();
            try
            {
                StripeMethods obj = new StripeMethods();
                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        objResp.Add(obj.GetStripeInfo(objReq));
                        if (objResp != null)
                            response.Create(true, "Stripe details", Messages.AppVersion, objResp);
                        else
                            response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
                else
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
 public Response<string> SessionReviewByTutor(SessionReviewModel objReq)
 {
     Response<string> response = new Response<string>();
     List<string> objResp = new List<string>();
     try
     {
         Session obj = new Session();
         if (CheckRequestIsvalidornot(this.Request))
         {
             if (obj.SessionReviewByTutor(objReq))
                 response.Create(true, Messages.FormatMessage(Messages.Success, "You have submitted"), Messages.AppVersion, objResp);
             else
                 response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
         }
     }
     catch (Exception ex)
     {
         object session = new JavaScriptSerializer().Serialize(objReq);
         LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
         response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
     }
     return response;
 }
        public Response<string> SavePaymentDetails(StripePaymentModel objReq)
        {
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();
            try
            {
                StripeMethods obj = new StripeMethods();
                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        if (obj.SavePaymentDetails(objReq) == 1)
                            response.Create(true, "Payment details saved successfully", Messages.AppVersion, objResp);
                        else if (obj.SavePaymentDetails(objReq) == 3)
                            response.Create(true, "Sorry Request time is expired", Messages.AppVersion, objResp);
                        else if (obj.SavePaymentDetails(objReq) == 2)
                            response.Create(true, "Already Paid", Messages.AppVersion, objResp);
                        else
                            response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);
                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
                else
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            return response;
        }
        ///<summary>
        /// <purpose>[Common] Saving Card Information</purpose>
        /// </summary>
        /// <returns></returns>
        /// <developer>Rishabh</developer>
        /// <Date>10/6/2015</Date>
        public Response<string> PostCardInfo(PaymentInfo objReq)
        {
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();
            try
            {
                PaymentMethods objDBMethod = new PaymentMethods();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        if (objDBMethod.SaveCardInfo(objReq))
                            response.Create(true, Messages.FormatMessage(Messages.Success, "Card Info saved"), Messages.AppVersion, objResp);
                        else
                            response.Create(false, Messages.ErrorOccure, Messages.AppVersion, objResp);
                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
                else
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }

            return response;
        }
        public Response<string> ApplyPromoCode(PromoCodeReq objReq)
        {
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();
            try
            {
                PromoCodeMethods objDBMethod = new PromoCodeMethods();

                if (CheckRequestIsvalidornot(this.Request))
                {
                    if (ModelState.IsValid)
                    {
                        switch (objDBMethod.ApplyPromoCode(objReq))
                        {
                            case 0:
                                response.Create(false, "Invalid Promo code", Messages.AppVersion, objResp);
                                break;
                            case 1:
                                response.Create(true, "Promo code applied successfully", Messages.AppVersion, objResp);
                                break;
                            case 2:
                                response.Create(false, "Sorry you have already used this promo code !", Messages.AppVersion, objResp);
                                break;
                            case 3:
                                response.Create(false, "Sorry this promo code is expired!", Messages.AppVersion, objResp);
                                break;
                            default:
                                break;
                        }

                    }
                    else
                        response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);
                }
                else
                    response.Create(false, Messages.FormatMessage(Messages.InvalidReq), Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            finally
            {
            }
            return response;
        }
        public Response<string> ForgetPassword(ReqEmail objReq)
        {
            List<string> objResp = new List<string>();
            Response<string> response = new Response<string>();
            try
            {
                objDBMethod = new DBMethod();
                if (CheckRequestIsvalidornot(this.Request))
                {
                    switch (objDBMethod.ForgetPassword(objReq))
                    {
                        case 1:
                            response.Create(true, Messages.MailSent, Messages.AppVersion, objResp);
                            break;
                        case 0:
                            response.Create(false, Messages.NoEmailExist, Messages.AppVersion, objResp);
                            break;
                        default:
                            break;
                    }

                }
            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);

            }

            return response;
        }
        public Response<string> InviteFriends(InviteFriendsModel objReq)
        {
            Response<string> response = new Response<string>();
            List<string> objResp = new List<string>();
            try
            {
                if (ModelState.IsValid)
                {

                    objDbMethodV2 = new wizz.Dal.DbMethodsV2();
                    int retValue = objDbMethodV2.InviteFriends(objReq);
                    if (retValue > 0)
                        response.Create(true, "done", Messages.AppVersion, objResp);
                    else
                    {
                        response.Create(false, "you are not allowed", Messages.AppVersion, objResp);
                    }
                }
                else
                    response.Create(false, ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage, Messages.AppVersion, objResp);

            }
            catch (Exception ex)
            {
                object session = new JavaScriptSerializer().Serialize(objReq);
                LogManager.Error("Error occured while Processing Webservice request :{0}", ex, session, ex.Message);
                response.Create(false, Messages.FormatMessage(Messages.ErrorOccure), Messages.AppVersion, objResp);
            }
            finally
            {
            }
            return response;
        }