public ActionResult EditProfile(AuthUser item, string imguploads) { IDbConnection db = new OrmliteConnection().openConn(); var lst_ImgUploads = new List <ImgUploadModel>(); //if (!string.IsNullOrEmpty(ImgUploads)) //{ // lst_ImgUploads = (List<ImgUploadModel>)Newtonsoft.Json.JsonConvert.DeserializeObject(ImgUploads, typeof(List<ImgUploadModel>), new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); //} try { var isExist = AuthUser.GetById(item.entryid); item.password = isExist.password; item.createdat = isExist.createdat; item.createdby = isExist.createdby; item.updatedat = DateTime.Now; item.updatedby = currentUser.entryid; item.AddOrUpdate(currentUser.entryid); return(Json(new { success = true })); } catch (Exception e) { return(Json(new { success = false, message = e.Message })); } }
public ActionResult Register(RegisterViewModel model) { if (DefaultView.GetRandomCapcha() != model.CaptchaCode) { ViewBag.message = "Mã xác minh không đúng."; return(View()); } if (model.ConfirmPassword != model.Password) { ViewBag.message = "Mật khẩu xác nhận không giống."; return(View()); } //get internal user with email & code IDbConnection dbConn = new OrmliteConnection().openConn(); var user = AuthUser.GetByCode(model.Email, LoginType.InternalLogin, null, false); if (user != null) { ViewBag.message = "Tài khoản đã tồn tại"; return(View()); } //create user internal user = new AuthUser(); user.password = SqlHelper.GetMd5Hash(model.Password); user.createdat = DateTime.Now; user.updatedat = DateTime.Now; user.entrycode = model.Email; user.entryname = model.Email; user.fullname = model.Email; user.email = model.Email; user.logintype = (int)LoginType.InternalLogin; user.loginprovider = ""; user.isactive = true; user.entryid = user.AddOrUpdate(user.entryid); var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, user.fullname), new Claim(ClaimTypes.Email, string.IsNullOrEmpty(user.email)?"":user.email), new Claim(ClaimTypes.PrimarySid, user.entryid.ToString()) }, "ApplicationCookie"); var ctx = Request.GetOwinContext(); var authManager = ctx.Authentication; authManager.SignIn(identity); return(RedirectToAction("Index", "Home")); }
public ActionResult Create(AuthUser item) { IDbConnection db = new OrmliteConnection().openConn(); try { if (string.IsNullOrEmpty(item.entryname) || string.IsNullOrEmpty(item.entrycode)) { return(Json(new { success = false, message = tw_Lang.Common_ActionResult_MissingInfo })); } var isExist = AuthUser.GetById(item.entryid, null, false); //Validate //insert / update if (item.entryid == 0) { //insert item.entrycode = item.entryname; item.logintype = (int)LoginType.Admin; item.createdat = DateTime.Now; item.createdby = currentUser.entryid; item.updatedat = DateTime.Now; item.updatedby = currentUser.entryid; item.isactive = true; } else { //update item.createdby = isExist.createdby; item.updatedat = DateTime.Now; item.updatedby = currentUser.entryid; } item.AddOrUpdate(currentUser.entryid, null, false); return(Json(new { success = true, data = item })); } catch (Exception e) { return(Json(new { success = false, message = e.Message })); } finally { db.Close(); } }
public async Task <ActionResult> ExternalLoginCallback(string returnUrl) { var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); if (loginInfo == null) { return(RedirectToAction("Login")); } var user = AuthUser.GetByCode(loginInfo.Login.ProviderKey, loginInfo.Login.LoginProvider); if (user == null) { user = new AuthUser(); user.createdat = DateTime.Now; user.updatedat = DateTime.Now; user.entrycode = loginInfo.Login.ProviderKey; user.entryname = loginInfo.Login.ProviderKey; user.fullname = loginInfo.DefaultUserName; user.email = loginInfo.Email; user.logintype = (int)LoginType.ExternalLogin; user.loginprovider = loginInfo.Login.LoginProvider; user.isactive = true; user.entryid = user.AddOrUpdate(user.entryid); } else { user.updatedat = DateTime.Now; user.lastlogin = DateTime.Now; user.AddOrUpdate(user.entryid); } // Sign in the user with this external login provider if the user already has a login //FormsAuthentication.SetAuthCookie(user.Id.ToString(), true); var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, user.fullname), new Claim(ClaimTypes.Email, string.IsNullOrEmpty(user.email)?"":user.email), new Claim(ClaimTypes.PrimarySid, user.entryid.ToString()) }, "ApplicationCookie"); var ctx = Request.GetOwinContext(); var authManager = ctx.Authentication; authManager.SignIn(identity); return(RedirectToLocal(returnUrl)); //var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false); //switch (result) //{ // case SignInStatus.Success: // return RedirectToLocal(returnUrl); // case SignInStatus.LockedOut: // return View("Lockout"); // case SignInStatus.RequiresVerification: // return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false }); // case SignInStatus.Failure: // default: // // If the user does not have an account, then prompt the user to create an account // ViewBag.ReturnUrl = returnUrl; // ViewBag.LoginProvider = loginInfo.Login.LoginProvider; // return RedirectToLocal(returnUrl); // //return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email }); //} }