public async Task <IComandoResultado> ManipuladorAsync(CriarAlunoComando comando)
        {
            var email = new Vo.Email(comando.Email);
            ////Ckeck Email
            //if (!string.IsNullOrEmpty(comando.Email) && (await _repositorio.CheckEmailAsync(comando.Email)))
            //    AddNotification("Email", "Email informado já está em uso no sistema");
            //else
            //    AddNotifications(new Vo.Email(comando.Email).Notifications);

            ////Check Cpf
            //if (!string.IsNullOrEmpty(comando.Cpf) && (await _repositorio.CheckCpfAsync(comando.Cpf)))
            //    AddNotification("CPF", "Cpf informado não é válido");
            //else
            //    AddNotifications(new Vo.Email(comando.Email).Notifications);

            //Criar Entidade
            var aluno = new AcademiaDanca.Dominio.Contexto.Entidade.Aluno(comando.Id, comando.Nome, comando.DataNascimento, null, email, comando.UifId, comando.Telefone, comando.Celular, comando.Foto, null, null);

            //Validar Comando
            comando.Valido();
            if (Invalid)
            {
                return(new ComandoResultado(false, "Por favor, corrija os campos abaixo", Notifications));
            }
            //Persistir Dados
            var id = await _repositorio.SalvarAsync(aluno);

            // Retornar o resultado para tela
            return(new ComandoResultado(true, "Aluno cadastrado com sucesso", new
            {
                Id = id,
                Nome = aluno.Nome,
                Status = true
            }));
        }
        public async Task <IComandoResultado> ManipuladorAsync(EditarAlunoComando comando)
        {
            //Valiadar vo
            var email = new Vo.Email(comando.Email);

            AddNotifications(email.Notifications);
            if (!string.IsNullOrEmpty(comando.Cpf))
            {
                var cpf = new Vo.Cpf(comando.Cpf);
                AddNotifications(cpf.Notifications);
            }

            //Criar Entidade
            var aluno = new AcademiaDanca.Dominio.Contexto.Entidade.Aluno(comando.Id, comando.Nome, comando.DataNascimento, null, email, comando.UifId, comando.Telefone, comando.Celular, null, comando.Cpf, null);

            AddNotifications(aluno.Notifications);

            //Validar ocorreu mudanca nos dados
            var alunoQuery = await _repositorio.ObterPorAsync(comando.Id);

            var alunoAtual = new AcademiaDanca.Dominio.Contexto.Entidade.Aluno(alunoQuery.AlunoId, alunoQuery.AlunoNome, alunoQuery.AlunodataNascimento, null,
                                                                               new Vo.Email(alunoQuery.AlunoEmail), new Guid(alunoQuery.AlunoGuid), alunoQuery.AlunoTelefone, alunoQuery.AlunoCelular, null, alunoQuery.AlunoCpf, null);

            if (!aluno.Equals(alunoAtual))
            {
                AddNotification("", "Sem dados para atualizar no momento.");
            }

            if (Invalid)
            {
                return(new ComandoResultado(
                           false,
                           "Por favor, corrija os campos abaixo",
                           Notifications));
            }

            //Persistir os dados

            await _repositorio.Editar(aluno);

            // Retornar o resultado para tela
            return(new ComandoResultado(true, "Funcionario cadastrado com sucesso", new
            {
                Id = 0,
                Nome = "",
                Status = true
            }));
        }