public ActionResult UpdateProfile(UpdateUserModel updateModel) { if (ModelState.IsValid) { Users userEntityToEdit = _uow.Useres.Find(updateModel.UserId); userEntityToEdit.FirstName = updateModel.FirstName; userEntityToEdit.LastName = updateModel.LastName; userEntityToEdit.Email = updateModel.Email; userEntityToEdit.IsActive = updateModel.IsActive; userEntityToEdit.RoleID = updateModel.RoleID; userEntityToEdit.Telephone = updateModel.Telephone; userEntityToEdit.ModifiedBy = SessionManager.CurrentUser.UserId; userEntityToEdit.ModifiedAt = DateTime.Now; if (updateModel.Departments != null) { foreach (var variable in userEntityToEdit.UserDepartment.ToList()) { _uow.UserDepartments.Delete(variable.Id); } foreach (var variable in updateModel.Departments) { userEntityToEdit.UserDepartment.Add(new UserDepartment() { DepartmentId = variable, UserId = userEntityToEdit.UserId }); } } _uow.AutitTrails.Add(new AuditTrial() { UserId = SessionManager.CurrentUser.UserId, EventTypeId = 2, EventTime = DateTime.Now, EventDetails = "Updated this User " + updateModel.FirstName + " " + updateModel.LastName, EventDetailsAr = "قام بتعديل بيانات هذا المستخدم " + updateModel.FirstName + " " + updateModel.LastName }); _uow.Useres.Edit(userEntityToEdit.UserId, userEntityToEdit); _uow.Save(); TempData["successMessage"] = "Your Profile updated Succefuly"; var secUser = new SecuredUser { User = new UserLogin() { DisplayName = updateModel.FirstName, Email = updateModel.Email, Isauthenticated = true, RoleName = updateModel.RoleID == 1 ? "Admin" : "User", UserId = updateModel.UserId, IsSystemAdmin = updateModel.RoleID == 1 } }; string dataS = secUser.UserId + "," + //user Obj (0-2) secUser.Username + "," + //user Obj secUser.DisplayName + "," + secUser.IsSysAdmin + "," + //user Obj secUser.RoleName + ","; //ticket Obj FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, updateModel.FirstName, DateTime.Now, DateTime.Now.AddDays(364), true, dataS, FormsAuthentication.FormsCookiePath); string hash = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash) { Expires = ticket.IsPersistent ? ticket.Expiration : DateTime.Today.AddDays(1) }; HttpContext.Response.Cookies.Add(cookie); HttpCookie authCookie = HttpContext.Request.Cookies[FormsAuthentication.FormsCookieName]; FormsAuthenticationTicket ticketD = FormsAuthentication.Decrypt(authCookie.Value); string[] values = ticketD.UserData.Split(',').Select(sValue => sValue.Trim()).ToArray(); var cuser = new UserLogin { UserId = Convert.ToInt32(values[0]), Username = values[1], DisplayName = values[2], IsSystemAdmin = Convert.ToBoolean(values[3]), RoleName = values[4] }; var abcUser = new SecuredUser { User = cuser }; SessionManager.CurrentUser = secUser; if (User.IsInRole("Admin") && userEntityToEdit.RoleID == 2) { FormsAuthentication.SignOut(); return(RedirectToAction("Login", "Login")); } return(RedirectToAction("UpdateProfile", updateModel)); } TempData["failedMessage"] = "something wrong happened"; return(View(updateModel)); }
public String LoginUser(UserLoginVM usrLogin) { Object result = null; try { var login = AuthenticationHandler.IsAuthenticated(usrLogin.UserName, usrLogin.Password); if (login != null) { if (login.Isauthenticated == true) { var secUser = new SecuredUser { User = login }; string dataS = secUser.UserId + "," + //user Obj (0-2) secUser.Username + "," + //user Obj secUser.DisplayName + "," + secUser.IsSysAdmin + "," + //user Obj secUser.RoleName + ","; //ticket Obj FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, usrLogin.UserName, DateTime.Now, DateTime.Now.AddDays(364), usrLogin.RememberMe, dataS, FormsAuthentication.FormsCookiePath); string hash = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash); if (ticket.IsPersistent) { cookie.Expires = ticket.Expiration; } else { cookie.Expires = DateTime.Today.AddDays(1); } HttpContext.Current.Response.Cookies.Add(cookie); HttpCookie authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; FormsAuthenticationTicket ticketD = FormsAuthentication.Decrypt(authCookie.Value); string[] values = ticketD.UserData.Split(',').Select(sValue => sValue.Trim()).ToArray(); var cuser = new UserLogin { UserId = Convert.ToInt32(values[0]), Username = values[1], DisplayName = values[2], IsSystemAdmin = Convert.ToBoolean(values[3]), RoleName = values[4] }; var abcUser = new SecuredUser(); abcUser.User = cuser; SessionManager.CurrentUser = secUser; var redirectUrl = "GeneratedReference/CreateGenerateRefrence"; result = new { urlData = redirectUrl, success = true, message = "Login succeed" }; } else { result = new { LoginResponse = "", success = false, message = "Login Failed" }; } } else { result = new { LoginResponse = "", success = false, message = "Login Failed" }; } } catch (Exception ex) { result = new { success = false, message = ex.Message }; } return(Newtonsoft.Json.JsonConvert.SerializeObject(result)); }