public async Task <IHttpActionResult> chgPW([FromBody] ManageUserViewModel md) { ResultInfo r = new ResultInfo(); try { if (ModelState.IsValid) { if (md.NewPassword == md.OldPassword) {//新密碼和舊密碼不可相同 r.result = false; r.message = Resources.Res.Log_Err_NewPasswordSame; return(Ok(r)); } using (var db0 = getDB0()) { int c_id = int.Parse(this.UserId); var item = await db0.Customer.FindAsync(c_id); string old = HttpUtility.UrlEncode(EncryptString.desEncryptBase64(md.OldPassword)); if (item.c_pw != old) {//舊密碼輸入錯誤 r.result = false; r.message = Resources.Res.Log_Err_Password; return(Ok(r)); } else { item.c_pw = HttpUtility.UrlEncode(EncryptString.desEncryptBase64(md.NewPassword)); await db0.SaveChangesAsync(); r.result = true; r.message = Resources.Res.Info_ChangePassword_Success; } } } else { List <string> errMessage = new List <string>(); foreach (System.Web.Http.ModelBinding.ModelState modelState in ModelState.Values) { foreach (System.Web.Http.ModelBinding.ModelError error in modelState.Errors) { errMessage.Add(error.ErrorMessage); } } r.message = String.Join(":", errMessage); r.result = false; } } catch (Exception ex) { r.result = false; r.message = ex.ToString(); } return(Ok(r)); }
public async Task <IHttpActionResult> chgPWbyFG([FromBody] forgotChgPW md) { ResultInfo r = new ResultInfo(); try { db0 = getDB0(); var item = await db0.Customer.Where(x => x.email == md.Email).FirstOrDefaultAsync(); if (md.NewPassword != md.ConfirmPassword) {//確認密碼和新密碼不一致 r.result = false; r.message = Resources.Res.Log_Err_NewPasswordNotSure; return(Ok(r)); } if (item == null) {//此用戶不存在 r.result = false; r.message = Resources.Res.Log_Err_NoThisUser; return(Ok(r)); } if (!checkCode(md.code)) {//無效代碼 r.result = false; r.message = Resources.Res.Login_Err_NotValidCode; return(Ok(r)); } item.c_pw = HttpUtility.UrlEncode(EncryptString.desEncryptBase64(md.NewPassword)); await db0.SaveChangesAsync(); r.result = true; r.message = Resources.Res.Info_ChangePassword_Success; upCheckCode(md.code); } catch (Exception ex) { r.result = false; r.message = ex.ToString(); } finally { db0.Dispose(); } return(Ok(r)); }
public IHttpActionResult forgotPWSendMail([FromUri] string email) { ResultInfo r = new ResultInfo(); try { db0 = getDB0(); if (!db0.Customer.Any(x => x.email == email)) { r.result = false; r.message = Resources.Res.Log_Err_EmailNoExist; return(Ok(r)); } //產生驗證 ResultInfo addcode = addCheckCode(email); if (!addcode.result) { r.result = false; r.message = addcode.message; return(Ok(r)); } ForgotPwEmail emd = new ForgotPwEmail() { mail = email, code = HttpUtility.UrlEncode(EncryptString.desEncryptBase64(addcode.no))//要加密 }; ResultInfo sendmail = (new EmailController()).sendForgotPWMail(emd); r = sendmail; } catch (Exception ex) { r.result = false; r.message = ex.ToString(); } finally { db0.Dispose(); } return(Ok(r)); }
public async Task <string> ajax_Login(LoginViewModel model) { var userManager = UserManager; LoginResult getLoginResult = new LoginResult(); //if (!ModelState.IsValid) //{ // getLoginResult.result = false; // getLoginResult.message = "資訊不完整"; // return defJSON(getLoginResult); //} #region 驗證碼檢查程序 #if DEBUG getLoginResult.vildate = true; #else //if (string.IsNullOrEmpty(Session["CheckCode"].ToString())) //{ // Session["CheckCode"] = Guid.NewGuid(); // getLoginResult.result = false; // getLoginResult.message = Resources.Res.Log_Err_ImgValideNotEquel; // return defJSON(getLoginResult); //} //getLoginResult.vildate = Session["CheckCode"].Equals(model.validate) ? true : false; ValidateResponse Validate = ValidateCaptcha(model.validate, "6LexIhoTAAAAAL-SrVm8_fYcL7pTnovF4T7GozRx");//正式:6LexIhoTAAAAAL-SrVm8_fYcL7pTnovF4T7GozRx,Demo:6LfOXBcTAAAAAOqEElEieoCCTQmHAmtRfnqSS141 getLoginResult.vildate = Validate.Success; #endif if (!getLoginResult.vildate) { //Session["CheckCode"] = Guid.NewGuid(); //只要有錯先隨意產生唯一碼 以防暴力破解,新的CheckCode會在Validate產生。 getLoginResult.result = false; getLoginResult.message = Resources.Res.Log_Err_googleValideNotEquel; return(defJSON(getLoginResult)); } #endregion #region 帳密碼檢查 var result = await SignInManager.PasswordSignInAsync(model.account, model.password, model.rememberme, shouldLockout : false); if (result == SignInStatus.Failure) { getLoginResult.result = false; getLoginResult.message = Resources.Res.Login_Err_Password; return(defJSON(getLoginResult)); } getLoginResult.result = true; var item = await userManager.FindByNameAsync(model.account); if (isTablet) { getLoginResult.url = Url.Content(CommWebSetup.ManageDefCTR); //是行動裝置 } else { //不是行動裝置 var get_user_roles_id = item.Roles.Select(x => x.RoleId); ApplicationDbContext context = ApplicationDbContext.Create(); var roleManage = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); var get_user_roles_name = roleManage.Roles.Where(x => get_user_roles_id.Contains(x.Id)).Select(x => x.Name); if (get_user_roles_name.Contains("Admins") || get_user_roles_name.Contains("Managers")) { getLoginResult.url = Url.Content(CommWebSetup.ManageDefCTR); } else { getLoginResult.url = Url.Content("~/Active/Sales/PersonalInfo"); } } Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_UserName, item.UserName)); Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_LastLogin, DateTime.Now.ToString("yyyy-MM-dd"))); #endregion //語系使用 HttpCookie WebLang = Request.Cookies[CommWebSetup.WebCookiesId + ".Lang"]; //WebLang.Value = model.lang; Response.Cookies.Add(WebLang); try { var db = getDB0(); var item_department = await db.Department.FindAsync(item.department_id); Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_DepartmentId, item.department_id.ToString())); //Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_DepartmentName, item_department.department_name)); Response.Cookies.Add(new HttpCookie("user_login", Server.UrlEncode(EncryptString.desEncryptBase64("N")))); var item_lang = db.i_Lang .Where(x => x.lang == WebLang.Value) .Select(x => new { x.area }) .Single(); ViewData["lang"] = item_lang.area; //Response.Cookies.Add(new HttpCookie(CommWebSetup.WebCookiesId + ".IsAuthorized", "OK"));//CKFinder Session["IsAuthorized"] = true;//ckfinder用 db.Dispose(); } catch (Exception ex) { getLoginResult.result = false; getLoginResult.message = ex.Message; return(defJSON(getLoginResult)); } return(defJSON(getLoginResult)); }
public string setOrder(Purchase md) { ResultInfo r = new ResultInfo(); r.result = true; r.hasData = true; //預設 HttpCookie cart = getCookie(this.CartSession); //改用cookie+json格式方式記錄購物車內容 try { #region 送出訂單 using (var db0 = getDB0()) { #region 產品不存在或下架 bool p_check = false; List <string> err = new List <string>(); foreach (var d in md.Deatil) { bool d_check = db0.ProductDetail.Any(x => x.product_detail_id == d.product_detail_id & x.product_id == d.product_id & x.Product.stock_state == (int)IStockState.on_store_shelves & x.stock_state == (int)IStockState.on_store_shelves & !x.Product.i_Hide); if (d_check) { var item = db0.ProductDetail.Find(d.product_detail_id); d.p_d_sn = item.sn; //產品料號 d.p_name = item.Product.product_name; //產品名稱 d.p_d_pack_name = item.pack_name; //產品包裝 d.price = item.price; //產品價格 d.sub_total = item.price * d.qty; } else { p_check = true; err.Add(d.p_name); } } if (p_check) {//有產品不存在或下架 r.result = false; r.message = string.Format(Resources.Res.Log_Err_AddCart_Exist, String.Join("、", err.ToArray())); return(defJSON(r)); } md.total = md.Deatil.Sum(x => x.sub_total) + md.ship_fee + md.bank_charges + md.discount; #endregion } #region 加入會員 if (!this.isLogin) { var customer = new Customer() { email = md.receive_email, c_pw = Server.UrlEncode(EncryptString.desEncryptBase64(md.receive_mobile)),//預設密碼改為手機 c_name = md.receive_name, tel = md.receive_tel, mobile = md.receive_mobile, zip = md.receive_zip, address = md.receive_address }; r = addCustomer(customer); if (r.result) { md.customer_id = r.id; } else {//會員註冊失敗 r.result = false; r.message = r.message; return(defJSON(r)); } } #endregion r = addPurchase(md); if (md.receive_email != null & r.result) {//寄送email var open = openLogic(); OrderEmail emd = new OrderEmail() { purchase = md, isLogin = this.isLogin, AccountName = (string)open.getParmValue(ParmDefine.AccountName), AccountNumber = (string)open.getParmValue(ParmDefine.AccountNumber), BankCode = (string)open.getParmValue(ParmDefine.BankCode), BankName = (string)open.getParmValue(ParmDefine.BankName) }; #region 信件發送 ResultInfo sendmail = (new EmailController()).sendOrderMail(emd); #endregion if (!sendmail.result) {//送信失敗 r.result = true; r.hasData = false; r.message = sendmail.message; } else { r.message = Resources.Res.Log_Success_Order; } #region 刪除Cookie if (cart != null) { cart.Expires = DateTime.Now.AddDays(-1); Response.AppendCookie(cart); } #endregion } #endregion } catch (Exception ex) { r.result = false; r.message = ex.Message; } return(defJSON(r)); }
public async Task <IHttpActionResult> Post([FromBody] Customer md) { md.customer_id = GetNewId(CodeTable.Customer); md.i_InsertDateTime = DateTime.Now; md.i_UpdateDateTime = DateTime.Now; md.i_Lang = "zh-TW"; md.c_pw = HttpUtility.UrlEncode(EncryptString.desEncryptBase64(md.mobile));//預設密碼改為手機 var r = new ResultInfo <Customer>(); if (!ModelState.IsValid) { r.message = ModelStateErrorPack(); r.result = false; return(Ok(r)); } try { #region working db0 = getDB0(); bool check_email = db0.Customer.Any(x => x.email == md.email); if (check_email) { r.result = false; r.message = Resources.Res.Log_Err_EmailExist; return(Ok(r)); } db0.Customer.Add(md); await db0.SaveChangesAsync(); RegisterEmail emd = new RegisterEmail() { mail = md.email, name = md.c_name }; ResultInfo sendmail = (new EmailController()).sendRegisterMail(emd); r.result = true; r.id = md.customer_id; return(Ok(r)); #endregion } catch (DbEntityValidationException ex) //欄位驗證錯誤 { r.message = getDbEntityValidationException(ex); r.result = false; return(Ok(r)); } catch (Exception ex) { r.result = false; r.message = ex.Message + "\r\n" + getErrorMessage(ex); return(Ok(r)); } finally { db0.Dispose(); } }
public async Task <string> ajax_Login(LoginViewModel model) { var userManager = UserManager; LoginResult getLoginResult = new LoginResult(); if (!ModelState.IsValid) { getLoginResult.result = false; getLoginResult.message = "資訊不完整"; return(defJSON(getLoginResult)); } #region 驗證碼檢查程序 if (string.IsNullOrEmpty(Session["CheckCode"].ToString())) { Session["CheckCode"] = Guid.NewGuid(); getLoginResult.result = false; getLoginResult.message = Resources.Res.Log_Err_ImgValideNotEquel; return(defJSON(getLoginResult)); } getLoginResult.vildate = Session["CheckCode"].Equals(model.validate) ? true : false; #if DEBUG getLoginResult.vildate = true; #endif if (!getLoginResult.vildate) { Session["CheckCode"] = Guid.NewGuid(); //只要有錯先隨意產生唯一碼 以防暴力破解,新的CheckCode會在Validate產生。 getLoginResult.result = false; getLoginResult.message = Resources.Res.Log_Err_ImgValideNotEquel; return(defJSON(getLoginResult)); } #endregion #region 帳密碼檢查 var item = await userManager.FindAsync(model.account, model.password); if (item == null) { getLoginResult.result = false; getLoginResult.message = Resources.Res.Login_Err_Password; return(defJSON(getLoginResult)); } await SignInAsync(item, model.rememberme); getLoginResult.result = true; //SiteMaps.ReleaseSiteMap(); if (isTablet) { getLoginResult.url = Url.Content(CommWebSetup.ManageTabletCTR); //是行動裝置 } else { //不是行動裝置 var get_user_roles_id = item.Roles.Select(x => x.RoleId); ApplicationDbContext context = ApplicationDbContext.Create(); var roleManage = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); var get_user_roles_name = roleManage.Roles.Where(x => get_user_roles_id.Contains(x.Id)).Select(x => x.Name); if (get_user_roles_name.Contains("Admins") || get_user_roles_name.Contains("Managers")) { getLoginResult.url = Url.Content(CommWebSetup.ManageDefCTR); } else { getLoginResult.url = Url.Content("~/Active/Stock"); } } Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_UserName, item.UserName)); Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_LastLogin, DateTime.Now.ToString())); #endregion //語系使用 HttpCookie WebLang = Request.Cookies[CommWebSetup.WebCookiesId + ".Lang"]; WebLang.Value = model.lang; Response.Cookies.Add(WebLang); try { var db = getDB0(); var item_department = await db.Department.FindAsync(item.department_id); Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_DepartmentId, item.department_id.ToString())); Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_DepartmentName, item_department.department_name)); Response.Cookies.Add(new HttpCookie("user_login", Server.UrlEncode(EncryptString.desEncryptBase64("N")))); var item_lang = db.i_Lang .Where(x => x.lang == WebLang.Value) .Select(x => new { x.area }) .Single(); ViewData["lang"] = item_lang.area; Session["IsAuthorized"] = true;//ckfinder用 db.Dispose(); } catch (Exception ex) { getLoginResult.result = false; getLoginResult.message = ex.Message; return(defJSON(getLoginResult)); } finally { //db0.Dispose(); } return(defJSON(getLoginResult)); }
public async Task <string> member_Login(LoginViewModel model) { LoginResult getLoginResult = new LoginResult(); #region 驗證碼檢查程序 #if DEBUG getLoginResult.vildate = true; #else #region Google驗證 //if (!ModelState.IsValid) //{ // getLoginResult.result = false; // getLoginResult.message = Resources.Res.Login_Err_Normal; // return defJSON(getLoginResult); //} ValidateResponse Validate = ValidateCaptcha(model.validate); getLoginResult.vildate = Validate.Success; #endregion #endif if (!getLoginResult.vildate) { //Session["CheckCode"] = Guid.NewGuid();//只要有錯先隨意產生唯一碼 以防暴力破解,新的CheckCode會在Validate產生。 getLoginResult.result = false; getLoginResult.message = Resources.Res.Log_Err_googleValideNotEquel; return(defJSON(getLoginResult)); } #endregion try { #region 帳密碼檢查 using (var db0 = getDB0()) { string pw = Server.UrlEncode(EncryptString.desEncryptBase64(model.password)); var get_user = await db0.Customer.Where(x => x.email == model.account& x.c_pw == pw).FirstOrDefaultAsync(); bool check_account = await db0.Customer.AnyAsync(x => x.email == model.account); if (get_user != null) { #region 前台_會員登入用cookie string userData = "Customers"; string encode_userid = Server.UrlEncode(EncryptString.desEncryptBase64(get_user.customer_id.ToString()));//userid 加密 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, encode_userid, DateTime.Now, DateTime.Now.AddMinutes(300), false, userData, FormsAuthentication.FormsCookiePath); string encTicket = FormsAuthentication.Encrypt(ticket); Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)); var cookie_loginid = new HttpCookie(CommWebSetup.LoginId, encode_userid); cookie_loginid.HttpOnly = true; cookie_loginid.SameSite = SameSiteMode.Lax; if (Request.IsSecureConnection) { cookie_loginid.Secure = true; } Response.Cookies.Add(cookie_loginid); //LoginType //N:管理者登錄 Y:一般會員登錄 var cookie_login_type = new HttpCookie(CommWebSetup.LoginType, Server.UrlEncode(EncryptString.desEncryptBase64("Y"))); cookie_login_type.HttpOnly = true; cookie_login_type.SameSite = SameSiteMode.Lax; if (Request.IsSecureConnection) { cookie_login_type.Secure = true; } Response.Cookies.Add(cookie_login_type); #endregion #region 後台_會員登入用cookie Session["CheckCode"] = "jcin"; #endregion getLoginResult.result = true; string result_url = Url.Content(CommWebSetup.MemberDefCTR); getLoginResult.url = result_url; return(defJSON(getLoginResult)); } else { if (!check_account) { getLoginResult.nothaveAccount = true; getLoginResult.url = Url.Content(CommWebSetup.MemberRegisterCTR); } getLoginResult.result = false; getLoginResult.message = Resources.Res.Login_Err_Password;//帳號或密碼錯誤 請重新輸入 return(defJSON(getLoginResult)); } } #endregion } catch (Exception ex) { getLoginResult.result = false; getLoginResult.message = ex.Message; return(defJSON(getLoginResult)); } }
public async Task <string> ajax_NewLogin(LoginViewModel model) { var userManager = UserManager; LoginResult getLoginResult = new LoginResult(); #region 驗證碼檢查程序 #if DEBUG getLoginResult.vildate = true; #else #region Google驗證 if (!ModelState.IsValid) { getLoginResult.result = false; getLoginResult.message = Resources.Res.Login_Err_Normal; return(defJSON(getLoginResult)); } ValidateResponse Validate = ValidateCaptcha(model.validate); getLoginResult.vildate = Validate.Success; #endregion #endif if (!getLoginResult.vildate) { //Session["CheckCode"] = Guid.NewGuid();//只要有錯先隨意產生唯一碼 以防暴力破解,新的CheckCode會在Validate產生。 getLoginResult.result = false; getLoginResult.message = Resources.Res.Log_Err_googleValideNotEquel; return(defJSON(getLoginResult)); } #endregion try { #region 帳密碼檢查 using (var db0 = getDB0()) { ApplicationUser get_user; IEnumerable <string> get_user_roles_name; //string PW_Hash = UserManager.PasswordHasher.HashPassword(model.password); get_user = await userManager.FindByNameAsync(model.account); if (get_user == null) { getLoginResult.result = false; getLoginResult.message = Resources.Res.Login_Err_Password; return(defJSON(getLoginResult)); } else { var result = UserManager.PasswordHasher.VerifyHashedPassword(get_user.PasswordHash, model.password); if (result != PasswordVerificationResult.Success) { getLoginResult.result = false; getLoginResult.message = Resources.Res.Login_Err_Password; return(defJSON(getLoginResult)); } } getLoginResult.result = true; get_user_roles_name = db0.AspNetUsers.FirstOrDefault(x => x.Id == get_user.Id).AspNetRoles.Select(x => x.Name); //本專案目前一個帳號只對映一個role 以first role為主 if (get_user != null) { #region 前台_會員登入用cookie string userData = get_user_roles_name.FirstOrDefault(); string encode_userid = Server.UrlEncode(EncryptString.desEncryptBase64(get_user.Id));//userid 加密 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, encode_userid, DateTime.Now, DateTime.Now.AddMinutes(300), false, userData, FormsAuthentication.FormsCookiePath); string encTicket = FormsAuthentication.Encrypt(ticket); Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)); var cookie_loginid = new HttpCookie(CommWebSetup.LoginId, Server.UrlEncode(EncryptString.desEncryptBase64(get_user.UserName))); cookie_loginid.HttpOnly = true; cookie_loginid.SameSite = SameSiteMode.Lax; if (Request.IsSecureConnection) { cookie_loginid.Secure = true; } Response.Cookies.Add(cookie_loginid); //LoginType //N:管理者登錄 Y:一般會員登錄 var cookie_login_type = new HttpCookie(CommWebSetup.LoginType, Server.UrlEncode(EncryptString.desEncryptBase64("N"))); cookie_login_type.HttpOnly = true; cookie_login_type.SameSite = SameSiteMode.Lax; if (Request.IsSecureConnection) { cookie_login_type.Secure = true; } Response.Cookies.Add(cookie_login_type); #endregion #region 後台_會員登入用cookie Session["CheckCode"] = "jcin"; #endregion getLoginResult.result = true; string result_url = Url.Content(CommWebSetup.ManageDefCTR); getLoginResult.url = result_url; return(defJSON(getLoginResult)); } else { getLoginResult.result = false; getLoginResult.message = Resources.Res.Login_Err_Password;//帳號或密碼錯誤 請重新輸入 return(defJSON(getLoginResult)); } } #endregion } catch (Exception ex) { getLoginResult.result = false; getLoginResult.message = ex.Message; return(defJSON(getLoginResult)); } }
public async Task <string> ajax_Login(LoginViewModel model) { var userManager = UserManager; LoginResult getLoginResult = new LoginResult(); #region 驗證碼檢查程序 #if DEBUG getLoginResult.vildate = true; #else //if (string.IsNullOrEmpty(Session["CheckCode"].ToString())) //{ // Session["CheckCode"] = Guid.NewGuid(); // getLoginResult.result = false; // getLoginResult.message = Resources.Res.Log_Err_ImgValideNotEquel; // return defJSON(getLoginResult); //} //getLoginResult.vildate = Session["CheckCode"].Equals(model.validate) ? true : false; ValidateResponse Validate = ValidateCaptcha(model.validate); getLoginResult.vildate = Validate.Success; #endif if (!getLoginResult.vildate) { //Session["CheckCode"] = Guid.NewGuid(); //只要有錯先隨意產生唯一碼 以防暴力破解,新的CheckCode會在Validate產生。 getLoginResult.result = false; getLoginResult.message = Resources.Res.Log_Err_ImgValideNotEquel; return(defJSON(getLoginResult)); } #endregion #region 帳密碼檢查 var db = getDB0(); //var get_secretary = db.Community.Where(x => x.account == model.account && x.passwd == model.password); SignInStatus result; ApplicationUser item; IEnumerable <string> get_user_roles_id; result = await SignInManager.PasswordSignInAsync(model.account, model.password, model.rememberme, shouldLockout : false); if (result == SignInStatus.Failure) { getLoginResult.result = false; getLoginResult.message = Resources.Res.Login_Err_Password; return(defJSON(getLoginResult)); } getLoginResult.result = true; item = await userManager.FindByNameAsync(model.account); get_user_roles_id = item.Roles.Select(x => x.RoleId); ApplicationDbContext context = ApplicationDbContext.Create(); var roleManage = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); var get_user_roles_name = roleManage.Roles.Where(x => get_user_roles_id.Contains(x.Id)).Select(x => x.Name); getLoginResult.url = Url.Content("~/Active/CommunityNews"); if (get_user_roles_name.Contains("Secretary")) { Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_UserName, item.UserName)); } Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_LastLogin, DateTime.Now.ToString("yyyy-MM-dd"))); #endregion //語系使用 HttpCookie WebLang = Request.Cookies[CommWebSetup.WebCookiesId + ".Lang"]; WebLang.Value = model.lang; WebLang.HttpOnly = true;//避免被js隨意抓取cookie內容 WebLang.SameSite = SameSiteMode.Lax; if (Request.IsSecureConnection) { WebLang.Secure = true; } Response.Cookies.Add(WebLang); try { var item_department = await db.Department.FindAsync(item.department_id); Response.Cookies.Add(new HttpCookie(CommWebSetup.Cookie_DepartmentId, item.department_id.ToString())); Response.Cookies.Add(new HttpCookie("user_login", Server.UrlEncode(EncryptString.desEncryptBase64("N")))); var item_lang = db.i_Lang .Where(x => x.lang == WebLang.Value) .Select(x => new { x.area }) .Single(); ViewData["lang"] = item_lang.area; db.Dispose(); } catch (Exception ex) { getLoginResult.result = false; getLoginResult.message = ex.Message; return(defJSON(getLoginResult)); } return(defJSON(getLoginResult)); }