Пример #1
0
        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!"));
        }