Ejemplo n.º 1
0
        public void Devo_alterar_o_contato_ao_efetuar_um_Post_para_contatos_com_id_do_contato()
        {
            var controller = new ContatosController(Session);

            Mapper.AddProfile<ContatoProfile>();

            var contato = new Contato
            {
                Apelido = "Apelido",
                Nome = "Nome"
            };

            Session.Store(contato);
            Session.SaveChanges();

            var viewModel = new ContatoViewModel
                                {
                                    Apelido = "Apelido1",
                                    Nome = "Nome1"
                                };

            controller.Update(contato.Id, viewModel);

            Session.SaveChanges();

            Assert.That(Session.Load<Contato>(contato.Id).Nome,
                Is.EqualTo(viewModel.Nome));
        }
Ejemplo n.º 2
0
        public ActionResult Create(ContatoViewModel contatoViewModel)
        {
            if (!ModelState.IsValid) return View("New", contatoViewModel);

            var contato = DocumentSession
               .Query<Contato_Search.ContatoSearch, Contato_Search>()
               .As<Contato>()
               .FirstOrDefault(c => c.Nome == contatoViewModel.Nome);

            if(null == contato)
            {
                contato = Mapper.Map<ContatoViewModel, Contato>(contatoViewModel);
                DocumentSession.Store(contato);
                TempData["success"] = "Contato incluido com sucesso";
            }
            else
            {
                TempData["error"] = string.Format("Já existe um contato com o nome {0}", contato.Nome);
            }

            return RedirectToAction("Edit", new {contato.Id});
        }
Ejemplo n.º 3
0
        public void Posso_inserir_novos_contatos()
        {
            var controller = new ContatosController(Session);

            Mapper.AddProfile<ContatoProfile>();

            var contato = new ContatoViewModel
                              {
                                  Apelido = "Apelido",
                                  Nome = "Nome"
                              };

            var result = controller.Create(contato);

            Assert.That(result,
                Is.InstanceOf<RedirectToRouteResult>());
        }
Ejemplo n.º 4
0
        public ActionResult Update(int id, ContatoViewModel viewModel)
        {
            var contato = DocumentSession
                .Query<Contato_Search.ContatoSearch, Contato_Search>()
                .As<Contato>()
                .FirstOrDefault(c => c.Nome == viewModel.Nome &&
                                     c.Id != viewModel.Id);

            if (null == contato)
            {
                contato = DocumentSession.Load<Contato>(id);

                contato.Apelido = viewModel.Apelido;
                contato.Nome = viewModel.Nome;

                TempData["success"] = "Contato atualizado com sucesso";

                return RedirectToAction("Index");
            }

            TempData["error"] = string.Format("Já existe um contato com o nome {0}", contato.Nome);

            return RedirectToAction("Edit", new {id = contato.Id});
        }