public async Task <IComandoResultado> ManipuladorAsync(AddFiliacaoComando comando) { //Criar Entidade var filiacao = new Filiacao(comando.Id, comando.Nome, comando.TipoFiliacao, comando.Telefone); //Valiadar vo filiacao.Email = new Vo.Email(comando.Email); if (!string.IsNullOrEmpty(comando.Documento)) { filiacao.Documento = new Vo.Cpf(comando.Documento); } //check responsavel Existe var id = await _repositorio.CheckFiliacaoAsync(filiacao); if (id <= 0) { id = await _repositorio.SalvarFiliacaoAsync(filiacao); } //Validar Comando comando.Valido(); AddNotifications(comando.Notifications); if (Invalid) { return(new ComandoResultado(false, "Por favor, corrija os campos abaixo", Notifications)); } //Persistir Dados var inserido = _repositorio.SalvarFiliacaoAlunoAsync(comando.IdAluno, id); // Retornar o resultado para tela return(new ComandoResultado(true, "Responsável cadastrado com sucesso", new { Id = id, Nome = filiacao.Nome, 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 })); }