//public async Task<IList<ScUsr>> GetMentorListAsync(int mngCompSn)
        //{
        //    IEnumerable<ScMentorMappiing> listScUsrTask = null;

        //    listScUsrTask = await scMentorMappingRepository.GetManyAsync(mmp => mmp.Status == "N" && mmp.ScUsr.UsrType == "M" && mmp.ScCompInfo.CompSn == mngCompSn);
        //    return listScUsrTask.Select(mmp => mmp.ScUsr).OrderByDescending(usr => usr.RegDt).ToList();
        //}

        public int UpdatePassword(SHUSER_SyUser syUser)
        {
            var rstSyUser = syUserRespository.UpdatePassword(syUser);
            return rstSyUser;
        }
        public async Task<JsonResult> UpdateLoginPassword(string ID, string LOGIN_PW)
        {
            ScUsr scUsr = await _scUsrService.SelectScUsr(ID);
            
            if (scUsr != null)
            {
                //패스워드비교
                SHACryptography sha2 = new SHACryptography();
                scUsr.LoginPw = sha2.EncryptString(LOGIN_PW);
                await _scUsrService.SaveDbContextAsync();

                SHUSER_SyUser syUsr = new SHUSER_SyUser();
                syUsr.SmartPwd = scUsr.LoginPw;
                syUsr.IdUser = scUsr.LoginId;
                syUsr.MembBusnpersNo = scUsr.ScCompInfo.RegistrationNo;
                var rst = _scUsrService.UpdatePassword(syUsr);

                return Json(new { result = true });
            }
            else
            {
                return Json(new { result = false });
            }
        }
        public async Task<int> AddCompanyUserAsync(ScCompInfo scCompInfo, ScUsr scUsr, SHUSER_SyUser syUser)
        {
            //var rstScUsr = scUsrRespository.Insert(scUsr);
            //scCompInfo.
            var rstScCompInfo = scCompInfoRespository.Insert(scCompInfo);
            var rstSyUser = syUserRespository.Insert(syUser);

            if (rstScCompInfo == null || rstSyUser != 1)
            {
                return -1;
            }

            var rst = await SaveDbContextAsync();

            return rst;
            //if (rst != 1)
            //    return rst;

            //return await SaveDareDbContextAsync();
        }
        public async Task<ActionResult> ChangePassword(ChangePasswordViewModel model)
        {
            ViewBag.LeftMenu = Global.MyInfo;

            if (Session[Global.LoginID].ToString() != model.ID)
            {
                ModelState.AddModelError("", "로그인된 아이디가 아닙니다.");
                return View();
            }

            ScUsr scUsr = await _scUsrService.SelectScUsr(model.ID);
            if (scUsr != null)
            {
                //패스워드비교
                SHACryptography sha2 = new SHACryptography();
                if (scUsr.LoginPw == sha2.EncryptString(model.LoginPw))
                {
                    scUsr.LoginPw = sha2.EncryptString(model.NewLoginPw);
                    await _scUsrService.SaveDbContextAsync();

                    SHUSER_SyUser syUsr = new SHUSER_SyUser();
                    syUsr.SmartPwd = scUsr.LoginPw;
                    syUsr.IdUser = scUsr.LoginId;
                    syUsr.MembBusnpersNo = scUsr.ScCompInfo.RegistrationNo;
                    var rst = _scUsrService.UpdatePassword(syUsr);

                    string usrArea;

                    if (Session[Global.UserType].ToString().Equals(Global.Company))
                    {// 기업회원
                        usrArea = "Company";
                        return RedirectToAction("MyInfo", "MyInfo", new { area = usrArea });
                    }
                    else if (Session[Global.UserType].ToString().Equals(Global.Mentor))
                    {// 멘토
                        usrArea = "Mentor";
                    }
                    else if (Session[Global.UserType].ToString().Equals(Global.SysManager))
                    {// SCP 관리자
                        usrArea = "SysManager";
                    }
                    else if (Session[Global.UserType].ToString().Equals(Global.BizManager))
                    {// 사업 관리자
                        usrArea = "BizManager";
                    }
                    else if (Session[Global.UserType].ToString().Equals(Global.Expert))
                    {// 전문가
                        usrArea = "Expert";
                    }
                    else
                    {
                        usrArea = "";
                    }
                    return RedirectToAction("MyInfo", "Main", new { area = usrArea });
                }
                else
                {
                    ModelState.AddModelError("", "비밀번호가 일치하지 않습니다.");
                    return View();
                }
            }
            else
            {
                ModelState.AddModelError("", "아이디가 존재하지 않습니다.");
                return View();
            }
        }