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
            }));
        }
Exemplo n.º 2
0
        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
            }));
        }