Exemplo n.º 1
0
        public Domain.Entities.Identity.Account Create(Domain.Entities.Identity.Account account)
        {
            ValidateToCreate(account);

            if (!account.Errors.Any())
            {
                account.Password = Encrypt.Hash(account.Password);

                var result = _accountRepository.Add(account);

                return(result);
            }

            return(account);
        }
Exemplo n.º 2
0
        public Domain.Entities.Identity.Account Modify(Domain.Entities.Identity.Account account)
        {
            ValidateToModify(account);

            if (!account.Errors.Any())
            {
                var result = _accountRepository.Update(account);

                if (!result)
                {
                    account.AddError("Houve um erro ao atualizar suas informações de conta, tente novamente mais tarde.");
                }
            }

            return(account);
        }
Exemplo n.º 3
0
        private void ValidateToModify(Domain.Entities.Identity.Account account)
        {
            account.IsValid();

            if (string.IsNullOrWhiteSpace(account.Id))
            {
                account.AddError("Chave da conta é obrigatória");
            }

            var existingAccounts = _accountRepository.Filter(account);

            if (existingAccounts.Any(x => x.UserName == account.UserName && x.PersonId != account.PersonId))
            {
                account.AddError("Login já cadastrado para outro usuário");
            }
        }
Exemplo n.º 4
0
        private void ValidateToCreate(Domain.Entities.Identity.Account account)
        {
            account.IsValid();

            var existingAccounts = _accountRepository.Filter(account);

            if (existingAccounts.Any(x => x.UserName == account.UserName))
            {
                account.AddError("Login já cadastrado para outro usuário");
            }

            if (existingAccounts.Any(x => x.PersonId == account.PersonId))
            {
                account.AddError("Este usuário já está cadastrado.");
            }
        }
Exemplo n.º 5
0
        public IActionResult Put([FromBody] Domain.Entities.Identity.Account account)
        {
            try
            {
                var result = _account.Modify(account);

                _unitOfWork.Commit();

                if (result.Errors.Any())
                {
                    return(BadRequest(result.Errors));
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
Exemplo n.º 6
0
        public IActionResult Login([FromBody] Domain.Entities.Identity.Account credentials)
        {
            try
            {
                var loginResult = _authorization.Login(credentials);

                if (string.IsNullOrEmpty(loginResult))
                {
                    return(NotFound());
                }
                else
                {
                    return(Ok(loginResult));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }