internal int SaveTutorProfile(TutorProfileModel objReq, List<string> fileNamesList)
        {

            using (var db = new WizzDataContext())
            {
                try
                {
                    long userId = Convert.ToInt64(objReq.userId);
                    #region Multiple List work
                    List<tblTutorDoc> objTutorDocList = new List<tblTutorDoc>();
                    objTutorDocList = db.tblTutorDocs.Where(x => x.fkTutorId == userId).ToList();
                    if (objTutorDocList.Count > 0)
                    {
                        db.tblTutorDocs.DeleteAllOnSubmit(objTutorDocList);
                        db.SubmitChanges();
                        objTutorDocList = new List<tblTutorDoc>();
                    }
                    foreach (string n in fileNamesList)
                    {
                        tblTutorDoc objDoc = new tblTutorDoc();
                        objDoc.createdDate = DateTime.UtcNow;
                        objDoc.fileName = n;
                        objDoc.fkTutorId = userId;
                        objDoc.isDelete = false;
                        objTutorDocList.Add(objDoc);
                    }
                    db.tblTutorDocs.InsertAllOnSubmit(objTutorDocList);

                    List<tblTutorSubject> objTutorSubList = new List<tblTutorSubject>();
                    objTutorSubList = db.tblTutorSubjects.Where(x => x.fkTutorId == userId).ToList();
                    if (objTutorSubList.Count > 0)
                    {
                        db.tblTutorSubjects.DeleteAllOnSubmit(objTutorSubList);
                        db.SubmitChanges();
                        objTutorSubList = new List<tblTutorSubject>();
                    }

                    if (objReq.subjectIdList.Count > 0)
                        foreach (string n in objReq.subjectIdList)
                        {
                            tblTutorSubject objTutorSubject = new tblTutorSubject();
                            objTutorSubject.isApproved = false;
                            objTutorSubject.fkSubjectId = Convert.ToInt32(n);
                            objTutorSubject.fkTutorId = userId;
                            objTutorSubject.subjectType = 3;
                            objTutorSubList.Add(objTutorSubject);
                        }
                    else if (objReq.classIdList.Count > 0)
                        foreach (string n in objReq.classIdList)
                        {
                            tblTutorSubject objTutorSubject = new tblTutorSubject();
                            objTutorSubject.isApproved = false;
                            objTutorSubject.fkSubjectId = Convert.ToInt32(n);
                            objTutorSubject.fkTutorId = userId;
                            objTutorSubject.subjectType = 2;
                            objTutorSubList.Add(objTutorSubject);
                        }
                    else
                    {

                        foreach (string n in objReq.courseIdList)
                        {
                            tblTutorSubject objTutorSubject = new tblTutorSubject();
                            objTutorSubject.isApproved = false;
                            objTutorSubject.fkSubjectId = Convert.ToInt32(n);
                            objTutorSubject.fkTutorId = userId;
                            objTutorSubject.subjectType = 1;
                            objTutorSubList.Add(objTutorSubject);
                        }
                    }
                    db.tblTutorSubjects.InsertAllOnSubmit(objTutorSubList);
                    #endregion

                    #region tableTutorprofileEntry
                    tblTutorProfile objTutorProfile = new tblTutorProfile();
                    var previousProfileObj = db.tblTutorProfiles.Where(x => x.fkUserId == userId).FirstOrDefault();
                    if (previousProfileObj != null)
                        db.tblTutorProfiles.DeleteOnSubmit(previousProfileObj);
                    objTutorProfile.feesPerHour = objReq.feesPerHour;
                    objTutorProfile.fkCollegeId = objReq.collegeId == null ? 0 : Convert.ToInt32(objReq.collegeId);
                    objTutorProfile.referralCode = objReq.referralCode == null ? "" : objReq.referralCode;
                    objTutorProfile.isApproved = false;

                    //fake data entry for maintaining previous tblschema (not use ful)
                    objTutorProfile.createdDate = DateTime.UtcNow;
                    objTutorProfile.description = "";
                    objTutorProfile.passingYear = "";

                    //creating a unique search code for tutor
                    objTutorProfile.tutorSearchCode = "W" + objReq.userName.Substring(0, 3) + System.Guid.NewGuid().ToString().Substring(0, 4);


                    //getting radius for tutor
                    objTutorProfile.distance = objReq.distanceRadius;
                    objTutorProfile.fkUserId = userId;
                    objTutorProfile.isActive = true;
                    objTutorProfile.updatedDate = DateTime.UtcNow;
                    objTutorProfile.TimeStamp = DateTime.UtcNow.Ticks;
                    objTutorProfile.lat = Convert.ToDouble(objReq.latitude);
                    objTutorProfile.longi = Convert.ToDouble(objReq.longitude);
                    objTutorProfile.location = objReq.location;
                    db.tblTutorProfiles.InsertOnSubmit(objTutorProfile);
                    #endregion
                    db.SubmitChanges();
                    return 1;
                }
                catch (Exception e)
                {

                    return 0;
                }

            }



        }
        //internal int StudentRequest(StudentRequestModel objReq)
        //{
           
        //    using (var db = new WizzDataContext())
        //    {
        //        var studentId = Convert.ToInt64(objReq.userId);

        //        tblRequestStudent objStudent;
        //       var  requestUniqueId = Guid.NewGuid().ToString();
        //        if (objReq.isNow.ToLower()=="false"||String.IsNullOrEmpty(objReq.isNow))
        //        {
        //            foreach (var n in objReq.listSlot)
        //            {
        //                objStudent = new tblRequestStudent();
        //                objStudent.latitude = Convert.ToDecimal(objReq.latitude);
        //                objStudent.longitude = Convert.ToDecimal(objReq.longitude);
        //                objStudent.forMinutes = Convert.ToInt32(objReq.totalMinutes);
        //                objStudent.accompanyNum = Convert.ToInt16(objReq.accompanies);
        //                objStudent.updatedDate = DateTime.UtcNow;
        //                objStudent.createdDate = DateTime.UtcNow;
        //                objStudent.day = Convert.ToInt16(n.dayNo);
        //                objStudent.subjects = objReq.assignments;
        //                objStudent.fkClassId = Convert.ToInt32(objReq.fkSubjectId);
        //                objStudent.isActive = true;
        //                objStudent.fromTime = n.fromTime;
        //                objStudent.toTime = n.toTime;
        //                objStudent.fkUserId = studentId;
        //                objStudent.isDelete = false;
        //                objStudent.isNow = false;
        //                objStudent.TimeStamp = Convert.ToInt64(objReq.timeStamp);
        //                objStudent.uniqueRequestId = requestUniqueId;
        //                objStudent.calculatedAmount=Convert.ToInt32(objReq.calculatedAmount);
        //                objStudent.location = objReq.location;
                        
        //                db.tblRequestStudents.InsertOnSubmit(objStudent);
        //                db.SubmitChanges();
                      
        //            }
        //        }
        //        else if (objReq.isNow.ToLower() == "true")
        //        {
        //            objStudent = new tblRequestStudent();
        //            objStudent.isNow = true;
        //            objStudent.latitude = Convert.ToDecimal(objReq.latitude);
        //            objStudent.longitude = Convert.ToDecimal(objReq.longitude);
        //            objStudent.forMinutes = Convert.ToInt32(objReq.totalMinutes);
        //            objStudent.accompanyNum = Convert.ToInt16(objReq.accompanies);
        //            objStudent.fromTime = objReq.currentTime;
        //            DateTime currentTime = Convert.ToDateTime(objReq.currentTime);
        //            double minuts = Convert.ToDouble(objReq.totalMinutes);
        //            currentTime = currentTime.AddMinutes(minuts);
        //            objStudent.toTime = Convert.ToString(currentTime);
        //            objStudent.updatedDate = DateTime.UtcNow;
        //            objStudent.createdDate = DateTime.UtcNow;
        //            objStudent.subjects = objReq.assignments;
        //            objStudent.fkClassId = Convert.ToInt32(objReq.fkSubjectId);
        //            objStudent.isActive = true;
        //            objStudent.isDelete = false;
        //            objStudent.fkUserId = studentId;
        //            objStudent.TimeStamp =Convert.ToInt64(objReq.timeStamp);
        //            objStudent.uniqueRequestId = requestUniqueId;
        //            objStudent.calculatedAmount = Convert.ToInt32(objReq.calculatedAmount);
        //                 objStudent.location = objReq.location;
        //            db.tblRequestStudents.InsertOnSubmit(objStudent);
        //            db.SubmitChanges();

        //        }
        //        else
        //        {
        //            return 0;
        //        }
              
            
        //        //get matched tutors
        //        var turors = db.usp_GetTutors(objReq.fkSubjectId, Convert.ToDecimal(objReq.latitude), Convert.ToDecimal(objReq.longitude),Convert.ToInt64(objReq.userId)).ToList();
        //        //save request to db and send push to tutor
        //        SendRequest(objReq, turors, requestUniqueId);
        //        return 1;

        //    }

        //}

        

        internal int SaveTutorProfile(TutorProfile objReq)
        {

            tblTutorProfile profileData = new tblTutorProfile();
            using(var db=new WizzDataContext()){
                profileData = db.tblTutorProfiles.Where(x => x.fkUserId == Convert.ToInt64(objReq.userId) && x.isDelete!=true).FirstOrDefault();
                if (profileData == null)
                {
                   //objReq.fileName
                    profileData = new tblTutorProfile();
                    profileData.isApproved = false;
                    profileData.isActive = true;
                    profileData.isDelete = false;
                    profileData.fkUserId = Convert.ToInt64(objReq.userId);
                    //profileData.latitude = Convert.ToDecimal(objReq.latitude);
                    //profileData.longitude = Convert.ToDecimal(objReq.longitude);
                    //profileData.subjects = objReq.majors;
                    
                    profileData.TimeStamp = Convert.ToInt64(objReq.timeStamp);
                    profileData.updatedDate = DateTime.UtcNow;
                    profileData.createdDate = DateTime.UtcNow;
                    profileData.passingYear = objReq.passingYear;
                //    profileData.referralcode = objReq.referalCode==null?"": objReq.referalCode;
                //    profileData.fkClassId = String.Join(",", objReq.classes);
                //    profileData.docName = objReq.fileName;
                    
                    //profileData. = Convert.ToInt32(objReq.collegeId);
                    db.tblTutorProfiles.InsertOnSubmit(profileData);
                   
                }
                else {
                    profileData.isApproved = false;
                    profileData.isActive = true;
                    //profileData.fkUserId = Convert.ToInt64(objReq.userId);
                    //profileData.latitude = Convert.ToDecimal(objReq.latitude);
                    //profileData.longitude = Convert.ToDecimal(objReq.longitude);
                    //profileData.subjects = objReq.majors;
                    //profileData.passingYear = objReq.passingYear;
                    //profileData.docName = objReq.fileName;
                    profileData.TimeStamp = Convert.ToInt64(objReq.timeStamp);
                    profileData.updatedDate = DateTime.UtcNow;
                    profileData.createdDate = DateTime.UtcNow;
                  //  profileData.fkClassId = String.Join(",", objReq.classes);
                    //profileData.fkCollegeId = Convert.ToInt32(objReq.collegeId);
                }
                db.SubmitChanges();
                return 1;
            }
          
        }
        internal string UpdateUser(UserModel objRequest)
        {

            tblUser objUser;
            tblTutorProfile objProfile;
            using (var db = new WizzDataContext())
            {

                objUser = new tblUser();
                long userId = Convert.ToInt64(objRequest.userId);
                objUser = db.tblUsers.FirstOrDefault(x => x.pkUserId == userId);
                if (objUser == null)
                {
                    return "0";
                }
                else if (objUser.isDelete ==true) {

                    return "2";
                }
                else
                {
                    objProfile = new tblTutorProfile();

                    objProfile = db.tblTutorProfiles.Where(x => x.fkUserId == userId).FirstOrDefault();
                    if (objProfile == null)
                    {
                        objProfile = new tblTutorProfile();
                        objProfile.collegeName = objRequest.collageName;
                        objUser.userName = objRequest.userName;

                        //if (objUser.userEmail.ToLower().Trim() == objRequest.userEmail.ToLower().Trim())
                        //{


                        //}
                        //else {
                        //    objUser.userEmail = objRequest.userEmail;
                        //    SendVerifyEmail(objRequest.userEmail, "1", objUser.pkUserId);
                        //}

                        objProfile.description = objRequest.description;
                        objUser.updatedDate = DateTime.UtcNow;
                        objProfile.passingYear = objRequest.passingYear;
                        objUser.profilePic = objRequest.profilePic;
                        objProfile.updatedDate = DateTime.UtcNow;
                        objProfile.createdDate = DateTime.UtcNow;
                        objProfile.fkUserId = userId;
                        db.tblTutorProfiles.InsertOnSubmit(objProfile);

                    }
                    else {

                        objProfile.updatedDate = DateTime.UtcNow;
                        objProfile.createdDate = DateTime.UtcNow;
                        objProfile.collegeName = objRequest.collageName;
                        objUser.userName = objRequest.userName;

                        //if (objUser.userEmail.ToLower().Trim() == objRequest.userEmail.ToLower().Trim())
                        //{


                        //}
                        //else {
                        //    objUser.userEmail = objRequest.userEmail;
                        //    SendVerifyEmail(objRequest.userEmail, "1", objUser.pkUserId);
                        //}

                        objProfile.description = objRequest.description;
                        objUser.updatedDate = DateTime.UtcNow;
                        objProfile.passingYear = objRequest.passingYear;
                        objUser.profilePic = objRequest.profilePic;
                    }
                   
                    db.SubmitChanges();
                    return "1";
                }
            }
        }