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); }
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); }
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"); } }
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."); } }
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)); } }
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)); } }