public async Task <ResponseMessage <User> > AddAsync(User user) { ResponseMessage <User> responseMessage; try { User userDb = _repository.All <User>(a => a.Email == user.Email).FirstOrDefault(); if (userDb == null) { Company customer = _repository .All <Company>(a => a.IdCompany == user.IdCompany) .FirstOrDefault(); var userReponse = await _userApi.AddUserApiAsync(new UserApiModel() { CompanyId = customer.IdCompany, Login = user.Email, Name = user.Name, SystemId = _systemId, ConfirmPassword = user.Email, Password = user.Email }); user.ClaimId = userReponse.Object.Id; _repository.Add(user); _repository.SaveChanges(); responseMessage = ResponseMessage <User> .Ok(user); } else { responseMessage = ResponseMessage <User> .Fault("Já existe um usuário com esse e-mail."); } } catch (Exception ex) { responseMessage = ResponseMessage <User> .Fault(ex.Message); } return(responseMessage); }