コード例 #1
0
        public void UpdateFabricante()
        {
            //arrange
            var builder = new DbContextOptionsBuilder <WebCadastradorContext>()
                          .UseLazyLoadingProxies()
                          .UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=WebCadastradorContext-dc88d854-cb2b-41f0-851e-fa57b037f7e8;Trusted_Connection=True;MultipleActiveResultSets=true");

            context = new WebCadastradorContext(builder.Options);
            context.Produto.Clear();
            context.Fabricante.Clear();

            var f = Generator.ValidFabricante();

            context.Fabricante.Add(f);
            context.SaveChanges();

            fabricanteEditado      = Generator.ValidFabricanteViewModel();
            fabricanteEditado.CNPJ = f.CNPJ;
            var page = new UpdateFabricantePage();
            var id   = context.Fabricante.First().Id;

            //act
            page.NavegaToEdit(id);
            page.ModificaFabricante(fabricanteEditado);
            context = new WebCadastradorContext(builder.Options);
            fabricanteCadastrado = context.Fabricante.First();
        }
コード例 #2
0
        public void CadastraFabricante()
        {
            //arrange
            builder = new DbContextOptionsBuilder <WebCadastradorContext>()
                      .UseLazyLoadingProxies()
                      .UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=WebCadastradorContext-dc88d854-cb2b-41f0-851e-fa57b037f7e8;Trusted_Connection=True;MultipleActiveResultSets=true");

            context = new WebCadastradorContext(builder.Options);
            context.Produto.Clear();
            context.Fabricante.Clear();

            fabricante1 = Generator.ValidFabricante();
            context.Fabricante.Add(fabricante1);

            var f2 = Generator.ValidFabricante();

            context.Fabricante.Add(f2);

            context.SaveChanges();

            page                = new UpdateFabricantePage();
            novoFabricante      = Generator.ValidFabricanteViewModel();
            novoFabricante.CNPJ = f2.CNPJ;

            //ACT
            page.NavegaToEdit(fabricante1.Id);
            page.ModificaFabricante(novoFabricante);
        }
コード例 #3
0
        public void CadastraFabricante()
        {
            //arrange
            var builder = new DbContextOptionsBuilder <WebCadastradorContext>()
                          .UseLazyLoadingProxies()
                          .UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=WebCadastradorContext-dc88d854-cb2b-41f0-851e-fa57b037f7e8;Trusted_Connection=True;MultipleActiveResultSets=true");

            context = new WebCadastradorContext(builder.Options);
            context.ItemPedido.Clear();
            context.Pedido.Clear();
            context.Produto.Clear();
            context.Fabricante.Clear();

            var f = Generator.ValidFabricante();

            context.Fabricante.Add(f);
            context.SaveChanges();

            page                = new NewFabricantePage();
            novoFabricante      = Generator.ValidFabricanteViewModel();
            novoFabricante.CNPJ = f.CNPJ;

            //act
            page.Navigate();
            page.Cadastra(novoFabricante);
        }
コード例 #4
0
        public async Task <IActionResult> Create(FabricantesViewModel fabricanteViewModel)
        {
            var fabricanteValidator = new FabricanteValidator();

            if (!fabricanteValidator.IsCnpj(fabricanteViewModel.CNPJ))
            {
                ModelState.AddModelError("CNPJ", "O CNPJ é inválido.");
            }
            var fabricante = new Fabricante();

            fabricante.Nome          = fabricanteViewModel.Nome;
            fabricante.CNPJ          = fabricanteViewModel.CNPJ;
            fabricante.Endereco      = fabricanteViewModel.Endereco;
            var(exists, errorExists) = await fabricanteRepository.ExistsAsync(fabricante);

            if (exists)
            {
                foreach (var error in errorExists)
                {
                    ModelState.AddModelError(error.Key, error.Value);
                }
            }
            if (ModelState.IsValid)
            {
                await fabricanteRepository.AddFabricanteAsync(fabricante);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(fabricanteViewModel));
        }
コード例 #5
0
 public async Task Setup()
 {
     mockProdutos    = new Mock <IProdutoRepository>();
     mockFabricantes = new Mock <IFabricanteRepository>();
     controller      = new FabricantesController(mockProdutos.Object, mockFabricantes.Object);
     // act
     fabricanteViewModel = Generator.InvalidCNPJFabricanteViewModel();
     result = await controller.Create(fabricanteViewModel);
 }
コード例 #6
0
 public async Task Setup()
 {
     fabricante      = new Fabricante();
     mockProdutos    = new Mock <IProdutoRepository>();
     mockFabricantes = new Mock <IFabricanteRepository>();
     mockFabricantes.Setup(f => f.FindByIdAsync(1)).ReturnsAsync(fabricante);
     controller = new FabricantesController(mockProdutos.Object, mockFabricantes.Object);
     // act
     fabricanteViewModel = Generator.ValidFabricanteViewModel();
     mockFabricantes.Setup(f => f.UpdateFabricanteAsync(fabricante));
     result = await controller.Edit(fabricanteViewModel);
 }
コード例 #7
0
        public void Cadastra(FabricantesViewModel novoFab)
        {
            var         driver             = SetupGlobal.Driver;
            IWebElement nomeFabricante     = driver.FindElement(By.Id("Nome"));
            IWebElement cnpjFabricante     = driver.FindElement(By.Id("CNPJ"));
            IWebElement enderecoFabricante = driver.FindElement(By.Id("Endereco"));

            nomeFabricante.SendKeys(novoFab.Nome);
            cnpjFabricante.SendKeys(novoFab.CNPJ);
            enderecoFabricante.SendKeys(novoFab.Endereco);
            driver.FindElement(By.Id("createFabricante")).Click();
        }
コード例 #8
0
        public void ModificaFabricante(FabricantesViewModel fabricanteEditado)
        {
            var         driver             = SetupGlobal.Driver;
            IWebElement nomeFabricante     = driver.FindElement(By.Id("Nome"));
            IWebElement cnpjFabricante     = driver.FindElement(By.Id("CNPJ"));
            IWebElement enderecoFabricante = driver.FindElement(By.Id("Endereco"));

            nomeFabricante.Clear();
            cnpjFabricante.Clear();
            enderecoFabricante.Clear();

            nomeFabricante.SendKeys(fabricanteEditado.Nome);
            cnpjFabricante.SendKeys(fabricanteEditado.CNPJ);
            enderecoFabricante.SendKeys(fabricanteEditado.Endereco);

            driver.FindElement(By.CssSelector("body > div > div.row > div > form > div:nth-child(5) > input")).Click();
        }
コード例 #9
0
        public async Task <IActionResult> Edit(FabricantesViewModel fabricanteViewModel)
        {
            var fabricante = new Fabricante
            {
                Nome     = fabricanteViewModel.Nome,
                CNPJ     = fabricanteViewModel.CNPJ,
                Endereco = fabricanteViewModel.Endereco,
                Id       = fabricanteViewModel.Id
            };

            var fabricanteValidator = new FabricanteValidator();

            if (!fabricanteValidator.IsCnpj(fabricanteViewModel.CNPJ))
            {
                ModelState.AddModelError("CNPJ", "O CNPJ é inválido.");
            }
            var(exists, errorExists) = await fabricanteRepository.ExistsAsync(fabricante);

            if (exists)
            {
                foreach (var error in errorExists)
                {
                    ModelState.AddModelError(error.Key, error.Value);
                }
            }
            if (ModelState.IsValid)
            {
                try
                {
                    await fabricanteRepository.UpdateFabricanteAsync(fabricante);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!await fabricanteRepository.FabricanteExists(fabricanteViewModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(fabricanteViewModel));
        }
コード例 #10
0
        public async Task Setup()
        {
            mockFabricantes = new Mock <FabricanteRepository>();
            mockProdutos    = new Mock <ProdutoRepository>();
            mockFabricantes.Setup(f => f.AddFabricanteAsync(It.IsAny <Fabricante>())).Returns(Task.CompletedTask).Verifiable();

            controller          = new FabricantesController(mockProdutos.Object, mockFabricantes.Object);
            fabricanteViewModel = new FabricantesViewModel
            {
                Id       = 1,
                Nome     = "abc",
                CNPJ     = "594780198",
                Endereco = "Rua ABCDXYZ, 123"
            };
            // act
            result = await controller.Create(fabricanteViewModel);
        }
コード例 #11
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var fabricante = await fabricanteRepository.FindByIdAsync(id.Value);

            if (fabricante == null)
            {
                return(NotFound());
            }
            var fabricanteVM = new FabricantesViewModel
            {
                Id       = fabricante.Id,
                Nome     = fabricante.Nome,
                CNPJ     = fabricante.CNPJ,
                Endereco = fabricante.Endereco,
            };

            return(View(fabricanteVM));
        }
コード例 #12
0
        /// <summary>The get fabricantes model.</summary>
        /// <param name="id">The id.</param>
        /// <returns>The <see cref="ContentResult"/>.</returns>
        public ContentResult GetFabricantesModel(int? id)
        {
            var success = false;
            var error = string.Empty;
            var response = new FabricantesViewModel();
            try
            {
                if (id.HasValue && id.Value > 0)
                {
                    var resultado = this.fabricantesServicios.Get(id.Value);
                    Mapper.CreateMap<Fabricantes, FabricantesViewModel>();
                    response = Mapper.Map<FabricantesViewModel>(resultado);
                }

                response.PaisList = this.paisServicios.ListFiltered(paises => paises.Activo);
                success = true;
            }
            catch (Exception ex)
            {
                error = ex.Message;
            }

            var json = JsonConvert.SerializeObject(
                new
                {
                    success,
                    error,
                    result = response
                },
                new JsonSerializerSettings
                {
                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                });

            return this.Content(json, "application/json");
        }