Exemplo n.º 1
0
        private UserResponse AddOrUpdateUser(Boolean update, UserRequest userRequest)
        {
            UserResponse userResponse = new UserResponse();
            userResponse.ResultMessages = new List<String>();
            if (userRequest != null && userRequest.Users != null && userRequest.Users.Count > 0)
            {
                Boolean succeededOne = false;

                try
                {
                    userResponse.Users = new List<User>();
                    using (ILifetimeScope scope = NippsIoCHelper.IoCContainer.BeginLifetimeScope())
                    {
                        IUserLogic userLogic = scope.Resolve<IUserLogic>();
                        foreach (User user in userRequest.Users)
                        {
                            try
                            {
                                if (update)
                                    userLogic.Update(user);
                                else
                                    userLogic.Add(user);
                                succeededOne = true;
                            }
                            catch (Exception ex)
                            {
                                if (succeededOne)
                                    userResponse.Result = Result.SUCCESSWITHWARN;
                                else
                                    userResponse.Result = Result.FAIL;

                                userResponse.ResultMessages.Add(ex.ToString());
                                mLogger.Error("{0}\n{1}", user, ex);
                            }

                        }

                    }
                }
                catch (Exception ex)
                {
                    userResponse.Result = Result.FAIL;
                    userResponse.ResultMessages.Add(ex.ToString());
                    mLogger.Error("{0}", ex);
                }
                
            }
            else
            {
                userResponse.Result = Result.FAIL;
                userResponse.ResultMessages.Add(ResultMessagesHelper.ToString(ResultMessages.REQUEST_INVALID_PARAMETER));

            }
            return userResponse;
        }
Exemplo n.º 2
0
        public ActionResult UserLogin(UserLogin userLogin)
        {
            NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

            if (ModelState.IsValid)
            {
                ViewBag.ForgottenPasswordLink = false;
                try
                {
                    UserRequest userRequest = new UserRequest
                    {
                        Users = new List<User> 
                        {
                            new User { 
                                UserName = userLogin.UserName, 
                                PasswordHash = userLogin.Password 
                            }
                        }
                    };

                    UserResponse userResponse = RestPostUserRequest("ValidatePassword", userRequest);
                    User user = userResponse.Users[0];

                    Session.Add("IsUserAuthenticated", true);
                    Session.Add("UserNameSurname", user.FirstName + " " + user.LastName);
                    Session.Add("User", user);

                    return RedirectToAction("Index", "Home");
                }
                catch (Exception ex)
                {
                    logger.Error(ex.ToString());

                    if (CommonHelper.CheckInvalidPasswordException(ex))
                    {
                        ModelState.AddModelError("Password", Resources.Global.MessageInvalidPassword);
                        ViewBag.ForgottenPasswordLink = true;
                    }
                    else if (CommonHelper.CheckNoDataFoundException(ex))
                        ModelState.AddModelError("UserName", Resources.Global.MessageInvalidUsername);
                    else if (CommonHelper.CheckExpiredPasswordException(ex))
                        ModelState.AddModelError("Password", Resources.Global.MessageExpiredPassword);
                    else
                        ModelState.AddModelError("", Resources.Global.MessageUnknownError);
                }
            }
            else
                ModelState.AddModelError("", Resources.Global.MessageInvalidValues);

            return View("UserLoginConfirm", userLogin);
        }
Exemplo n.º 3
0
        private bool GetUserByName(string userName)
        {
            string svcUri = CommonHelper.AuthManagerServiceUrl + "UserService/GetByName";
            UserRequest userRequest = new UserRequest
            {
                Users = new List<User> { new User { UserName = userName } }
            };

            UserResponse userResponse = RestHelper.RestPostObject<UserResponse, UserRequest>(svcUri, userRequest);
            if (userResponse.Result == Result.OK)
                return true;

            return false;

            
        }
Exemplo n.º 4
0
 public UserResponse SetPassword(UserRequest userRequest)
 {
     return SetUserPassword(userRequest, false);
 }
Exemplo n.º 5
0
        public UserResponse UpdatePassword(UserRequest userRequest)
        {
            UserResponse userResponse = new UserResponse();
            userResponse.ResultMessages = new List<String>();
            if (userRequest != null && userRequest.Users != null && userRequest.Users.Count > 0)
            {
                try
                {
                    using (ILifetimeScope scope = NippsIoCHelper.IoCContainer.BeginLifetimeScope())
                    {
                        IUserLogic userLogic = scope.Resolve<IUserLogic>();
                        userLogic.UpdatePassword(userRequest.Users[0].UserName, userRequest.Users[0].PasswordHash, userRequest.NewPasswordHash);
                        userResponse.Result = Result.OK;

                    }

                }
                catch (Exception ex)
                {
                    userResponse.Result = Result.FAIL;
                    userResponse.ResultMessages.Add(ex.ToString());
                    mLogger.Error("{0}", ex);
                }
            }
            else
            {
                userResponse.Result = Result.FAIL;
                userResponse.ResultMessages.Add(ResultMessagesHelper.ToString(ResultMessages.REQUEST_INVALID_PARAMETER));

            }
            return userResponse;
        }
Exemplo n.º 6
0
        public UserResponse List(UserRequest request)
        {
            UserResponse userResponse = new UserResponse();
            userResponse.ResultMessages = new List<String>();

            if (request == null)
                request = new UserRequest();

            try
            {
                using (ILifetimeScope scope = NippsIoCHelper.IoCContainer.BeginLifetimeScope())
                {
                    IUserLogic userLogic = scope.Resolve<IUserLogic>();

                    if (request.PageSize > 0)
                        userLogic.PageSize = request.PageSize;

                    if (request.PageNo > 0)
                        userResponse.Users = userLogic.List(request.PageNo);
                    else
                        userResponse.Users = userLogic.List();

                    userResponse.Result = Result.OK;

                }

            }
            catch (Exception ex)
            {
                userResponse.Result = Result.FAIL;
                userResponse.ResultMessages.Add(ex.ToString());
                mLogger.Error("{0}", ex);
            }

            return userResponse;
        }
Exemplo n.º 7
0
 public UserResponse Update(UserRequest request)
 {
     return AddOrUpdateUser(true, request);
 }
Exemplo n.º 8
0
 public UserResponse Add(UserRequest request)
 {
     return AddOrUpdateUser(false, request);
 }
Exemplo n.º 9
0
 public UserResponse GetByName(UserRequest request)
 {
     return GetUser(true, request);
 }
Exemplo n.º 10
0
        public ActionResult UserRemoveConfirm(string userName)
        {
            NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

            try
            {
                string svcUrl = CommonHelper.AuthManagerServiceUrl + "UserService/GetByName";
                UserRequest userRequest = new UserRequest { Users = new List<User> { new User{ UserName = userName } } }; 
                UserResponse userResponse = RestHelper.RestPostObject<UserResponse, UserRequest>(svcUrl, userRequest);

                SetViewBagResult(userResponse, ViewBag);

                return View(userResponse.Users[0]);
            }
            catch (Exception ex)
            {
                logger.Error("{0}: {1}", userName, ex.ToString());
                ModelState.AddModelError("", Resources.Global.MessageUnknownError);
                SetViewBagResult(new UserResponse { Result = Result.FAIL, ResultMessages = new List<string> { ex.ToString() } }, ViewBag);
            }

            return View();
        }
Exemplo n.º 11
0
        private UserResponse RestPostUserRequest(string actionUri, UserRequest userRequest)
        {
            string userSvcUri = CommonHelper.AuthManagerServiceUrl + "UserService/" + actionUri;
            UserResponse userResponse = RestHelper.RestPostObject<UserResponse, UserRequest>(userSvcUri, userRequest);
            if (userResponse.Result == Result.OK)
                return userResponse;

            throw new Exception(userResponse.ResultMessages[0]);
        }
Exemplo n.º 12
0
        public ActionResult UserPasswordChange(UserPasswordChange userPasswordChange)
        {
            
            if (ModelState.IsValid)
            {
                try
                {
                    User user = (User)Session["User"];
                    
                    UserRequest userRequest = new UserRequest { 
                        NewPasswordHash = userPasswordChange.NewPassword,
                        Users = new List<User> { 
                            new User { 
                                UserName = user.UserName, 
                                PasswordHash = userPasswordChange.OldPassword 
                            } 
                        }
                    };

                    UserResponse userResponse = RestPostUserRequest("UpdatePassword", userRequest);
                    if (userResponse.Result == Result.OK)
                        userResponse.ResultMessages.Add(Resources.Global.MessagePasswordChanged);

                    ViewBag.Result = userResponse.Result;
                    ViewBag.ResultMessages = userResponse.ResultMessages;
                    ViewBag.ReturnToAction = "Index";
                    ViewBag.ReturnToController = "Home";
                    ViewBag.Title = Resources.Global.PasswordChange;

                    return View(NippsSiteHelper.ResultMessageView);
                    
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                    if (CommonHelper.CheckNoDataFoundException(ex))
                        return RedirectToAction("UserLogOff", "UserManagement");
                    if (CommonHelper.CheckInvalidPasswordException(ex))
                        ModelState.AddModelError("", Resources.Global.MessageInvalidPasswordEntered);
                    else
                        ModelState.AddModelError("", Resources.Global.MessageUnknownError);
                }
            }
            else
                ModelState.AddModelError("", Resources.Global.MessageInvalidValues);

            return View("UserPasswordChangeConfirm");
        }
Exemplo n.º 13
0
        public ActionResult UserPasswordRenew(User userForm)
        {
            
            try
            {
                UserRequest userRequest = new UserRequest
                {
                    Users = new List<User> { new User { UserName = userForm.UserName, Email = userForm.Email } }
                };
                UserResponse userResponse;

                if (string.IsNullOrEmpty(userForm.FirstName) && string.IsNullOrEmpty(userForm.LastName))
                {
                    userResponse = RestPostUserRequest("GetByName", userRequest);
                    User user = userResponse.Users[0];
                    if (!user.Email.Equals(userForm.Email))
                    {
                        ModelState.AddModelError("", Resources.Global.MessageInvalidValues);
                        return View("UserPasswordRenewConfirm", userForm);
                    }
                }
                    
                userResponse = RestPostUserRequest("IssueNewPassword", userRequest);
                if (userResponse.Result == Result.OK)
                    userResponse.ResultMessages.Add(Resources.Global.MessageRenewPassword);

                ViewBag.Result = userResponse.Result;
                ViewBag.ResultMessages = userResponse.ResultMessages;
                ViewBag.ReturnToAction = ReturnToAction;
                ViewBag.ReturnToController = ReturnToController;
                ViewBag.Title = Resources.Global.PasswordRenew;

                return View(NippsSiteHelper.ResultMessageView);
            }
            catch (Exception ex)
            {
                Logger.Error("{0}: {1}", userForm, ex.ToString());
                if (CommonHelper.CheckNoDataFoundException(ex))
                    ModelState.AddModelError("", Resources.Global.MessageInvalidValues);
                else
                    ModelState.AddModelError("", Resources.Global.MessageUnknownError);
            }
            
            return View("UserPasswordRenewConfirm", userForm);
        }
Exemplo n.º 14
0
        public ActionResult UserRemove(User user)
        {
            ViewBag.ReturnToAction = ReturnToAction;
            ViewBag.ReturnToController = ReturnToController;
            ViewBag.Title = Resources.Global.UserRemoveTitle;
            ViewBag.Name = Resources.Global.UserRemove;

            try
            {
                string svcUri = CommonHelper.AuthManagerServiceUrl + "UserService/Remove";
                UserRequest userRequest = new UserRequest { Users = new List<User> { user } };
                UserResponse userResponse = RestHelper.RestPostObject<UserResponse, UserRequest>(svcUri, userRequest);

                if (userResponse.Result == Result.OK)
                    return RedirectToAction("UserList");

                SetViewBagResult(userResponse, ViewBag);

            }
            catch (Exception ex)
            {
                Logger.Error("{0}: {1}", user, ex.ToString());
                SetViewBagResult(new UserResponse { Result = Result.FAIL, ResultMessages = new List<string> { ex.ToString() } }, ViewBag);
            }

            return View(NippsSiteHelper.ResultMessageView);
        }
Exemplo n.º 15
0
 public UserResponse IssueNewPassword(UserRequest userRequest)
 {
     return SetUserPassword(userRequest, true);
 }
Exemplo n.º 16
0
 public UserResponse Get(UserRequest request)
 {
     return GetUser(false, request);
 }
Exemplo n.º 17
0
        public ActionResult UserEditConfirm(string userName)
        {
            
            try
            {
                User user;

                if (CommonHelper.IsIppsAdmin(this)) {
                    UserRequest userRequest = new UserRequest { Users = new List<User> { new User { UserName = userName } } };

                    UserResponse userResponse = RestPostUserRequest("GetByName", userRequest);
                    user = userResponse.Users[0];
                }
                else
                    user = (User)Session["User"];

                return View(user);
            }
            catch (Exception ex)
            {
                Logger.Error("{0}\n{1}", userName, ex);
                //we do not expect to get an exception here whatever the reason is.
                //The only exception is logged in user deleted by the ippsadmin on the fly.
                //once again, we do not care about it, so just loggout
                return RedirectToAction("UserLogOff", "UserManagement");
            }
        }