public Aluno Alterar(Aluno aluno) { ValidarAluno(aluno); if (Validar) { var alunoExistente = repository.ObterPorId(aluno.Id); if (alunoExistente != null) { alunoExistente.AlterarNome(aluno.Nome); return(repository.Alterar(alunoExistente)); } AddNotification("aluno", "Aluno não existe."); } return(null); }
public string Salvar(Aluno aluno) { try { //Inserir e o Alterar if (aluno.IdPessoa == 0) { AlunoRepository.Adicionar(aluno); } else { AlunoRepository.Alterar(aluno); } AlunoRepository.SalvarAlteracoes(); return(null); } catch (Exception ex) { return(ex.Message); } }
public IEnumerable <Aluno> Put(int id, [FromBody] Aluno aluno) { _repo.Alterar(aluno); return(_repo.SelecionarTudo()); }
public async Task <BaseResult> Handle(AlterarAlunoCommand command, CancellationToken cancellationToken) { if (!command.Validar()) { return(command.BaseResult); } var aluno = await _alunoRepository.ObterPorIdAsync(command.AlunoId); if (aluno == null) { AdicionarErro("Não foi possível localizar o aluno!"); return(BaseResult); } // Atualiza o endereço var endereco = aluno.Endereco; endereco.Atualizar(command.Endereco.Logradouro, command.Endereco.Numero, command.Endereco.Complemento, command.Endereco.Bairro, command.Endereco.Cep, command.Endereco.Cidade, command.Endereco.Estado); // Atualiza os responsáveis List <AlunoResponsavel> ResponsaveisParaRemover = new List <AlunoResponsavel>(); List <AlunoResponsavel> ResponsaveisParAdcionar = new List <AlunoResponsavel>(); List <AlunoResponsavel> novosAlunoResponsavels = new List <AlunoResponsavel>(); foreach (var item in command.Responsaveis) { var responsavel = await _alunoRepository.ObterResponsavelPorIdAsync(item.id); responsavel.Atualizar(item.Nome, item.DataNascimento, item.Rg, item.Cpf, item.Telefone, item.Celular, item.Email, item.Observacao); novosAlunoResponsavels.Add(new AlunoResponsavel(aluno, responsavel)); } // Se um responsavel está gravado mas não está na lista de nova (indica que foi retirado) foreach (AlunoResponsavel responsavel in aluno.AlunosResponsaveis) { if (novosAlunoResponsavels.Any(e => e.AlunoId == responsavel.AlunoId && e.ResponsavelId == responsavel.ResponsavelId) == false) { ResponsaveisParaRemover.Add(responsavel); } } // Se um responsavel está na lista nova mas está na gravada (indica que foi incluso) foreach (AlunoResponsavel responsavel in novosAlunoResponsavels) { AlunoResponsavel isIncluso = aluno.AlunosResponsaveis. Where(m => m.ResponsavelId == responsavel.ResponsavelId).FirstOrDefault(); if (isIncluso == null) { ResponsaveisParAdcionar.Add(responsavel); } } aluno.Atualizar(command.Nome, command.DataNascimento, command.Rg, command.Cpf, command.Observacao, command.TurmaId); aluno.AtribuirEndereco(endereco); aluno.AtribuirResponsaveis(novosAlunoResponsavels); _alunoRepository.Alterar(aluno); await _alunoRepository.SalvarAsync(); return(BaseResult); }