public ValidationResults SalvarAluno(CadastroAlunoViewModel cadastroAlunoViewModel) { BeginTransaction(); #region Salva o usuário do Aluno var SEGUsuario = _iSEGUsuarioService.Salvar(ACAlunoAdapter.ExtractSEGUsuario(cadastroAlunoViewModel)); if (!SEGUsuario.ValidationResult.IsValid) { return(SEGUsuario.ValidationResult); } #endregion #region salva o Aluno cadastroAlunoViewModel.CodigoUsuario = SEGUsuario.CodigoUsuario; ACAluno ACAluno = _iACAlunoService.Salvar(ACAlunoAdapter.ExtractACAluno(cadastroAlunoViewModel)); if (!ACAluno.ValidationResult.IsValid) { return(ACAluno.ValidationResult); } #endregion #region salva o endereço var GEEndereco = _iGEEnderecoService.Salvar(ACAlunoAdapter.ExtractGEEndereco(cadastroAlunoViewModel)); if (!GEEndereco.ValidationResult.IsValid) { return(GEEndereco.ValidationResult); } #endregion #region vincula endereço ao usuário do Aluno var GEUsuarioEndereco = _iGEEnderecoService.SalvarUsuarioEndereco(new GEUsuarioEndereco(SEGUsuario.CodigoUsuario, GEEndereco.CodigoEndereco)); if (!GEUsuarioEndereco.ValidationResult.IsValid) { return(GEUsuarioEndereco.ValidationResult); } #endregion #region salva o telefone var GETelefone = _iGETelefoneService.Salvar(ACAlunoAdapter.ExtractTelefone(cadastroAlunoViewModel)); if (!GETelefone.ValidationResult.IsValid) { return(GETelefone.ValidationResult); } #endregion SaveChange(); Commit(); return(new ValidationResults(true, "Aluno salvo com sucesso!")); }