public async Task <IComandoResultado> ManipuladorAsync(AddEnderecoComando comando) { //Criar Entidade var logradouro = new Endereco(comando.Logradouro, comando.Id, comando.Numero, comando.Complemento, comando.Bairro, comando.Cidade, comando.Cep, new Uf(0, string.Empty, comando.Uf)); //Validar Comando comando.Valido(); if (Invalid) { return(new ComandoResultado(false, "Por favor, corrija os campos abaixo", Notifications)); } //Persistir Dados var id = await _repositorio.SalvarAsync(logradouro, comando.IdAluno); // Retornar o resultado para tela return(new ComandoResultado(true, "Endereço cadastrado com sucesso", new { Id = id, Nome = logradouro.Logradouro, Status = true })); }
public async Task <IComandoResultado> ManipuladorAsync(DadosExternosComando comando) { foreach (var item in comando.lista) { DateTime data = ObterData(string.IsNullOrEmpty(item.DataNascimento) ? "01/01/1901" : item.DataNascimento); var aluno = new AcademiaDanca.Dominio.Contexto.Entidade.Aluno(0, item.Nome, data, null, null, Guid.NewGuid(), item.Tel1, item.Tel2, "profile.jpg", null, item.CodAluno); var id = await _repositorio.SalvarAsync(aluno); //Cadastrar Endereco var logradouro = new Endereco(item.Endereco, 0, null, null, item.Bairro, item.Cidade, item.Cep, new Uf(0, string.Empty, "SP")); var idEnd = await _repositorioEnd.SalvarAsync(logradouro, id); //Cadastrar responsavel var idResponsavel = 0; if (!string.IsNullOrEmpty(item.Filiacao1)) { var filiacao = new Filiacao(0, item.Filiacao1, 1, item.Tel1); filiacao.AddEmail(new Vo.Email($"{id}[email protected]")); idResponsavel = await _repositorio.CheckFiliacaoAsync(filiacao); if (idResponsavel <= 0) { idResponsavel = await _repositorio.SalvarFiliacaoAsync(filiacao); } _repositorio.SalvarFiliacaoAlunoAsync(id, idResponsavel); } if (!string.IsNullOrEmpty(item.Filiacao2)) { var filiacao = new Filiacao(0, item.Filiacao2, 2, item.Tel1); filiacao.AddEmail(new Vo.Email($"{id}[email protected]")); idResponsavel = await _repositorio.CheckFiliacaoAsync(filiacao); if (idResponsavel <= 0) { idResponsavel = await _repositorio.SalvarFiliacaoAsync(filiacao); } _repositorio.SalvarFiliacaoAlunoAsync(id, idResponsavel); } AddNotifications(comando.Notifications); } //Criar Entidade //Validar Comando if (Invalid) { return(new ComandoResultado(false, "Por favor, corrija os campos abaixo", Notifications)); } //Persistir Dados // Retornar o resultado para tela return(new ComandoResultado(true, "Aluno cadastrado com sucesso", new { Id = 1, Nome = "sd.Nome", Status = true })); }