Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }