Пример #1
0
 public void Create(GTUser user)
 {
     using (UserBusiness ub = new UserBusiness())
     {
         ub.CreateUser(user);
     }
 }
Пример #2
0
 public void Edit(GTUser user)
 {
     using (UserBusiness ub = new UserBusiness())
     {
         ub.UpdateUser(user);
     }
 }
Пример #3
0
        public bool AuthenticateUser(string login, string password)
        {
            GTUser user = GetUserByLogin(login);

            bool authenticate = false;

            if (user != null)
            {
                using (var sha1 = new SHA1Managed())
                {
                    var hash                = Encoding.UTF8.GetBytes(password);
                    var generatedHash       = sha1.ComputeHash(hash);
                    var generatedHashString = Convert.ToBase64String(generatedHash);

                    if (user.Password == generatedHashString)
                    {
                        authenticate = true;
                    }
                    else
                    {
                        AddError("A combinação usuário x senha está incorreta");
                    }
                }
            }

            return(authenticate);
        }
Пример #4
0
        public UpdateUserResponse UpdateUser(UpdateUserRequest request)
        {
            //TODO mudar mensagem
            if (request == null)
            {
                AddNotification("UpdateUserRequest", Message.X0_IsRequired.ToFormat("UpdateUserRequest"));
            }

            GTUser userUpdate = _repositorieUser.GetById(request.Id);

            if (userUpdate == null)
            {
                AddNotification("Id", Message.DataNotFound);
                return(null);
            }

            var name  = new Name(request.FirstName, request.LastName);
            var email = new Email(request.Email);

            userUpdate.UpdateUser(name, email);

            AddNotifications(userUpdate);


            if (IsInvalid())
            {
                return(null);
            }

            _repositorieUser.Update(userUpdate);

            return((UpdateUserResponse)userUpdate);
        }
Пример #5
0
        public AddUserResponse AddUser(AddUserRequest request)
        {
            //TODO mudar mensagem
            if (request == null)
            {
                AddNotification("AddUser", Message.X0_IsRequired.ToFormat("AddUser"));
            }

            var name    = new Name(request.FirstName, request.LastName);
            var email   = new Email(request.Email);
            var newUser = new GTUser(name, email, request.Password);

            AddNotifications(newUser, name, email);

            if (_repositorieUser.Exist(o => o.Email.Adress == request.Email))
            {
                AddNotification(Message.Email, Message.X1_Exist.ToFormat(Message.Email, request.Email));
            }

            if (IsInvalid())
            {
                return(null);
            }

            newUser = _repositorieUser.Add(newUser);

            return((AddUserResponse)newUser);
        }
Пример #6
0
        public void DeleteUser(int id)
        {
            GTUser user = Context.Users.FirstOrDefault(p => p.Id == id);

            Context.Users.Remove(user);

            Context.SaveChanges();
        }
Пример #7
0
        public GTUser GetUserByLogin(string login)
        {
            GTUser user = Context.Users.FirstOrDefault(p => p.Login == login);

            if (user != null)
            {
                return(user);
            }

            AddError("Usuário não encontrado");

            return(null);
        }
Пример #8
0
        public GTUser AuthenticateAndGetUser(string login, string password)
        {
            GTUser user = null;

            using (UserBusiness ub = new UserBusiness())
            {
                if (ub.AuthenticateUser(login, password))
                {
                    user = ub.GetUserByLogin(login);
                }
            }

            return(user);
        }
Пример #9
0
        public void CreateUser(GTUser user)
        {
            using (var sha1 = new SHA1Managed())
            {
                var hash                = Encoding.UTF8.GetBytes(user.Password);
                var generatedHash       = sha1.ComputeHash(hash);
                var generatedHashString = Convert.ToBase64String(generatedHash);

                user.Password = generatedHashString;
            }

            Context.Users.Add(user);
            Context.SaveChanges();
        }
Пример #10
0
        public GTUser GetUserById(int id)
        {
            GTUser user = new GTUser();

            user = Context.Users.FirstOrDefault(p => p.Id == id);

            if (user == null)
            {
                Context.Dispose();
                AddError("Não foi possível localizar o usuário.");
            }

            return(user);
        }
Пример #11
0
        public ResponseBase RemoveUser(Guid id)
        {
            GTUser removeUser = _repositorieUser.GetById(id);

            if (removeUser == null)
            {
                AddNotification("Id", Message.DataNotFound);
                return(null);
            }

            _repositorieUser.Remove(removeUser);

            return(new ResponseBase());
        }
Пример #12
0
        public ActionResult Create(UserLoginCredentials model)
        {
            ViewBag.LoginError = false;
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (model.Password != model.PasswordConfirm)
            {
                ModelState.AddModelError("", "Senha e Confirmação de senhas não estão iguais.");
                return(View("SignIn", model));
            }

            using (UserBusiness userBusiness = new UserBusiness())
            {
                GTUser user = userBusiness.GetUserByLogin(model.Login);
                if (user != null)
                {
                    ModelState.AddModelError("", string.Format("Usuário já está cadastrado na base com o email '{0}'.", user.Email));
                    return(View("SignIn", model));
                }

                user = new GTUser()
                {
                    Email    = model.Email,
                    Login    = model.Login,
                    Name     = model.Name,
                    Password = model.Password
                };

                userBusiness.CreateUser(user);
                user = userBusiness.GetUserByLogin(model.Login);

                //Checa por erros de domínio
                if (this.CheckForDomainErrors(userBusiness))
                {
                    ViewBag.LoginError = true;
                    return(View("SignIn", model));
                }

                //Salva o estado do usuário em sessão
                this.SetGTUser(user);
            }
            //Cria um cookie de autenticação para manter a sessão do usuário
            FormsAuthentication.SetAuthCookie(model.Login, false);

            return(RedirectToAction("Index", "Home"));
        }
Пример #13
0
        public void UpdateUser(GTUser user)
        {
            using (var sha1 = new SHA1Managed())
            {
                var hash                = Encoding.UTF8.GetBytes(user.Password);
                var generatedHash       = sha1.ComputeHash(hash);
                var generatedHashString = Convert.ToBase64String(generatedHash);

                user.Password = generatedHashString;
            }

            GTUser savedUser = Context.Users.FirstOrDefault(p => p.Id == user.Id);

            if (savedUser != null)
            {
                savedUser = user;
                Context.Entry(savedUser).State = EntityState.Modified;

                Context.SaveChanges();
            }
        }
Пример #14
0
        public AuthUserResponse AuthUser(AuthUserRequest request)
        {
            //TODO mudar mensagem
            if (request == null)
            {
                AddNotification("AuthUserRequest", Message.X0_IsRequired.ToFormat("AuthUserRequest"));
            }

            var email    = new Email(request.Email);
            var authUser = new GTUser(email, request.Password);

            AddNotifications(authUser, email);

            if (IsInvalid())
            {
                return(null);
            }

            authUser = _repositorieUser.GetBy(o => o.Email.Adress == authUser.Email.Adress && o.Password == authUser.Password);

            return((AuthUserResponse)authUser);
        }
Пример #15
0
        public ActionResult SignIn(UserLoginCredentials model, string returnUrl)
        {
            ViewBag.LoginError = false;
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            using (UserBusiness userBusiness = new UserBusiness())
            {
                GTUser user = null;
                if (userBusiness.AuthenticateUser(model.Login, model.Password))
                {
                    user = userBusiness.GetUserByLogin(model.Login);
                }

                //Checa por erros de domínio
                if (this.CheckForDomainErrors(userBusiness))
                {
                    ViewBag.LoginError = true;
                    return(View(model));
                }

                //Salva o estado do usuário em sessão
                this.SetGTUser(user);
            }
            //Cria um cookie de autenticação para manter a sessão do usuário
            FormsAuthentication.SetAuthCookie(model.Login, false);

            if (!String.IsNullOrWhiteSpace(returnUrl))
            {
                return(Redirect(returnUrl));
            }

            return(RedirectToAction("Index", "Home"));
        }
Пример #16
0
 public void SetGTUser(GTUser ltsUser)
 {
     this.Session["GTUser"] = ltsUser;
 }