public void Testar_Classe_Negocio_Amigo_Erro()
        {
            var erros = new List <String>();

            // A classe que armazenamos os dados (da página)
            var dadosTela = new AmigoModel
            {
                Nome = "Amigo 01"
            };

            // A classe de negócio (TM)
            // O único comando da classe que pode ser publico, é o TEMPLATE METHOD (Etapas) todos os outros tem que ser protegidos só serão visiveis dentro
            // da classe filha, da classe que herdou!
            var negocio = new AmigoBusiness(dadosTela);

            // Sempre que você disparar um evento, obrigatoriamente tem que interceptar (Monitorar), escutar ele! Se não capturar da pau de NULL REFERENCE.

            // Criamos um metodo anonimo (INLINE) para receber as mensagens de erro daquele eveto.
            // => Expressão lambda é o corpo do método

            // "+=" é igual a capturar o evento escutado.
            // "=>" é igual a Executar
            // "{}" é o corpo do método (inline)

            // É um ponteiro do memória
            negocio.EnviarErros += (listaErros) => {
                erros = listaErros;
            };

            negocio.Executar();

            Assert.AreNotEqual(0, erros.Count);
        }
        public void Testar_Exclusao_Amigo()
        {
            var amigoExcluido = new AmigoModel();

            amigoExcluido.Codigo = 1;
            amigoExcluido.Remove();
        }
Esempio n. 3
0
 public void Cadastrar(AmigoModel modelo_)
 {
     // INSERT INTO
     _conexao.Amigos.Add(modelo_);
     // Comentado abaixo porque começamos a utilizar o UnitOfWork
     //_conexao.SaveChanges();
 }
        public AmigoBuilder()
        {
            // Inicializamos as composições as sub-classes
            _novoAmigo = new AmigoModel();

            _novoAmigo.Fotos = new List<FotoModel>();
            _novoAmigo.Telefones = new List<TelefoneModel>();
        }
        public AmigoBuilder()
        {
            // Inicializamos as composições as sub-classes
            _novoAmigo = new AmigoModel();

            _novoAmigo.Fotos     = new List <FotoModel>();
            _novoAmigo.Telefones = new List <TelefoneModel>();
        }
        public ActionResult Cadastrar(AmigoModel amigoModel)
        {
            _unidadeAmigo.AmigoDAO.Cadastrar(amigoModel);
            _unidadeAmigo.Confirmar();

            var amigos = _unidadeAmigo.AmigoDAO.Listar();

            return(RedirectToAction("Listar"));
        }
Esempio n. 7
0
        public async Task <List <AmigoVM> > GetAll()
        {
            var list = await AmigoModel.GetAllFormServer();

            var listaRtn = from X in list
                           select new AmigoVM(X, PaginaAtual);

            return(listaRtn.ToList());
        }
Esempio n. 8
0
        public void Testar_Amigos_Eager_Loading()
        {
            // YAGNI (Você realmente precisa disso AGORA?)
            var modelo = new AmigoModel();
            var amigos = modelo.ListarEagerLoading();

            Assert.AreNotEqual(null, amigos[0].Sexo);
            Assert.AreNotEqual(null, amigos[0].Civil);
        }
Esempio n. 9
0
        public void Testar_Amigos_Lazy_Loading()
        {
            // YAGNI (Você realmente precisa disso AGORA?)
            var modelo = new AmigoModel();
            var amigos = modelo.ListarLazyLoading();

            // Nesse momento mandamos trazer os dados das tabelas, relacionadas (CARREGAMENTO TARDIO) buscamos só quando precisamos.

            Assert.AreNotEqual(null, amigos[0].Sexo);
            Assert.AreNotEqual(null, amigos[0].Civil);
        }
Esempio n. 10
0
        public void Testar_Cadastro_Amigo()
        {
            var novoAmigo = new AmigoModel();

            novoAmigo.Nome           = "Amigo 22:12";
            novoAmigo.Email          = "*****@*****.**";
            novoAmigo.CodigoSexo     = 2;
            novoAmigo.DataNascimento = new DateTime(1988, 11, 03);

            // O que caracteriza o padrão é não ter parametros de entrada e método.
            // A variável já é o proprio registro (Insert = Dado(INFORMAÇÃO)), na mesma classe temos armazenamento de informações e acesso a dados
            novoAmigo.Add();
        }
Esempio n. 11
0
 public IActionResult Update([FromBody] AmigoModel model)
 {
     using (var amigoService = new AmigoFactory(_serviceOptions).Build())
     {
         try
         {
             var amigo = amigoService.UpdateAmigo(_mapper.Map <Amigo>(model));
             return(Ok(_mapper.Map <AmigoModel>(amigo)));
         }
         catch (Exception ex)
         {
             return(StatusCode(500, ex.Message));
         }
     }
 }
        public void Testar_Classe_Negocio_Amigo_Sucesso()
        {
            // A classe que armazenamos os dados (da página)
            var dadosTela = new AmigoModel
            {
                Nome           = "Amigo 01",
                Email          = "*****@*****.**",
                DataNascimento = DateTime.Now,
                CodigoSexo     = 2
            };

            // A classe de negócio (TM)
            // O único comando da classe que pode ser publico, é o TEMPLATE METHOD (Etapas) todos os outros tem que ser protegidos só serão visiveis dentro
            // da classe filha, da classe que herdou!
            var negocio = new AmigoBusiness(dadosTela);

            negocio.Executar();
        }
Esempio n. 13
0
        public async Task <bool> Save()
        {
            var Salvo = await AmigoModel.Save();

            return(Salvo);
        }
Esempio n. 14
0
 public AmigoVM(Page Pagina)
 {
     AmigoModel  = new AmigoModel();
     PaginaAtual = Pagina;
 }
Esempio n. 15
0
 public void Atualizar(AmigoModel modelo_)
 {
     // UPDATE TABLE
     _conexao.Entry(modelo_).State = EntityState.Modified;
     _conexao.SaveChanges();
 }
 public AmigoBusiness(AmigoModel modelo_)
 {
     this._modelo = modelo_;
 }
Esempio n. 17
0
 public AmigoVM(AmigoModel model, Page Pagina)
 {
     AmigoModel  = model;
     PaginaAtual = Pagina;
 }
 public void Cadastrar(AmigoModel modelo_)
 {
     // INSERT INTO
     _conexao.Amigos.Add(modelo_);
     _conexao.SaveChanges();
 }