예제 #1
0
        /// <summary>
        /// Returns a Partial View with a gridview filtered (or not)
        /// </summary>
        /// <param name="page"></param>
        /// <param name="nome"></param>
        /// <param name="codigo"></param>
        /// <param name="idCategoria"></param>
        /// <param name="idProdutoMarca"></param>
        /// <returns></returns>
        public ActionResult Listagem(Int32? page, String nome, String codigo, Int32? idCategoria, Int32? idProdutoMarca)
        {
            page = page ?? 1;
            var produtos = new ProdutoService().GetByPage(page.Value, nome, codigo, idCategoria, idProdutoMarca);

            var list = new MvcList<Ecommerce_Produto>(produtos.Item1, page.Value, produtos.Item2, Settings.QuantityRegistersPerPage);
            return PartialView(list);
        }
예제 #2
0
 public void PostService_Set()
 {
     _mock    = new Mock <IProdutoRepository>();
     Alvo     = new ProdutoService(_mock.Object);
     _produto = new Produto()
     {
         Id              = 1,
         Nome            = "shampoo",
         Validade        = DateTime.Now.AddYears(1),
         DataFabricacao  = DateTime.Now,
         PrecoCusto      = 10.00,
         PrecoVenda      = 15.00,
         Disponibilidade = true,
     };
 }
예제 #3
0
        private void FrmCadastroPedido_Load(object sender, EventArgs e)
        {
            List <Barbearia> barbearias = BarbeariaService.BuscarTodasBarbearias();

            cbBarbearias.DataSource = barbearias;

            List <Cliente> clientes = ClienteService.BuscarTodosClientes();

            cbClientes.DataSource = clientes;

            produtoBindingSource.DataSource = ProdutoService.BuscarTodosProdutos();
            servicoBindingSource.DataSource = ServicoService.BuscarTodosServicos();

            this.pedidoAtual = new Pedido();
        }
        private static List <NFe.Core.Model.Produto> GetProdutos(ConfiguracaoEntity config)
        {
            var produtos = new List <NFe.Core.Model.Produto>();

            var ProdutoEntity = ProdutoService.GetByCodigo("0001");
            var grupoImpostos = new GrupoImpostosRepository(context).GetById(ProdutoEntity.GrupoImpostosId);

            var produto = new NFe.Core.Model.Produto(grupoImpostos, ProdutoEntity.Id, grupoImpostos.CFOP, ProdutoEntity.Codigo, ProdutoEntity.Descricao, ProdutoEntity.NCM,
                                                     1, ProdutoEntity.UnidadeComercial,
                                                     ProdutoEntity.ValorUnitario, 0, !config.IsProducao);

            produtos.Add(produto);

            return(produtos);
        }
예제 #5
0
        public void ProdutoService_Add_ShouldBeOK()
        {
            Produto produto = ObjectMotherProduto.getValidProduto();

            _mockRepository.Setup(m => m.Save(produto)).Returns(new Produto()
            {
                Id = 1
            });
            ProdutoService service = new ProdutoService(_mockRepository.Object);

            Produto resultado = service.Save(produto);

            resultado.Should().NotBeNull();
            resultado.Id.Should().BeGreaterThan(0);
            _mockRepository.Verify(repository => repository.Save(produto));
        }
예제 #6
0
 public void Delete(int produto_ID)
 {
     try
     {
         if (produto_ID != 0)
         {
             ProdutoService.Deletar(produto_ID);
             this.ViewBag.existSucess = true;
         }
     }
     catch (Exception e)
     {
         this.ViewBag.existError = true;
         this.ViewBag.msgError   = e;
     }
 }
예제 #7
0
        public void Devera_Add_Novo_Produto()
        {
            var baseContext = new CotextoBase("AddProd");
            var context     = new LojaContexto(baseContext.Options);

            var fakeProduto = baseContext.GetDadosFake <Produto>().Find(x => x.Id == 3);

            fakeProduto.Id = 0;

            //metodo de teste
            var proservices = new ProdutoService(context);
            var atual       = proservices.Salvar(fakeProduto);

            //Assert
            Assert.NotEqual(0, fakeProduto.Id);
        }
예제 #8
0
        public ActionResult Post([FromBody] ProdutoRequestDTO produtoDTO)
        {
            var produto = new Produto(produtoDTO.Descricao, produtoDTO.Valor);

            var produtoService = new ProdutoService();

            var inconsistencias = produtoService.VerificarInconsistenciaEmUmNovoProduto(produto);

            if (inconsistencias.Any())
            {
                return(BadRequest(inconsistencias));
            }

            produtoRepository.Salvar(produto);

            return(CreatedAtRoute("GetProduto", new { id = produto.Id }, produto));
        }
예제 #9
0
        public void Deve_Dar_Erro_Ao_Deletar_Produto_E_Nao_Encontrar_ID()
        {
            var produtosMock = _produtoFixture.ProdutoMock();
            var mensagemErro = Produto.ProdutoNaoEncontrato;

            var marcaService       = new Mock <IMarcaService>();
            var produtoRespository = new Mock <IProdutoRepository>();

            produtoRespository.Setup(x => x.Deleta(It.IsAny <Produto>()))
            .Throws(new NotFoundExepction(mensagemErro));

            var service         = new ProdutoService(produtoRespository.Object, marcaService.Object);
            var produtosRetorno = Assert.ThrowsAsync <NotFoundExepction>(
                async() => service.Deleta(produtosMock.First()));

            Assert.Equal(mensagemErro, produtosRetorno.Result.Message);
        }
        public IHttpActionResult Post(Produto p)
        {
            if (ModelState.IsValid)
            {
                using (DataContext context = new DataContext())
                {
                    ProdutoService produtoService = new ProdutoService(context);

                    var retorno = produtoService.Inserir(p);

                    context.SaveChanges();

                    return(Ok(p));
                }
            }
            return(BadRequest(ModelState));
        }
예제 #11
0
        public async Task Deve_Retornar_Produto_Usando_Filtro_De_Produto()
        {
            var produtosMock = _produtoFixture.ProdutoMock();

            FiltrosProduto.NomeProduto = produtosMock.First().Descricao;

            var marcaService       = new Mock <IMarcaService>();
            var produtoRespository = new Mock <IProdutoRepository>();

            produtoRespository.Setup(x => x.ObterPorNome(It.IsAny <string>()))
            .ReturnsAsync(produtosMock);

            var service         = new ProdutoService(produtoRespository.Object, marcaService.Object);
            var produtosRetorno = await service.ObterPorFitlro(FiltrosProduto);

            Assert.Equal(produtosRetorno, produtosMock);
        }
예제 #12
0
        public ActionResult Details(Int32 id, Int32 idCliente = 0)
        {
            SetCookiePromoter(idCliente);

            var menuOrder = new MenuService().GetByTitle("Products");
            if (menuOrder != null)
            {
                ViewBag.menuOrder = menuOrder.Ordem - 1;
            }
            else
            {
                ViewBag.menuOrder = 0;
            }

            var produto = new ProdutoService().GetModelById(id, GetCurrentIdIdioma());
            produto = new ProdutoService().UpdatePrice(produto, GetTipoPerfil());

            var list = new List<Tuple<String, String>>();
            if (produto != null)
            {
                //
                var idCategoryFrom = Session["categoryFrom"];

                if (idCategoryFrom != null)
                {
                    Session.Remove("categoryFrom");

                    if (!String.IsNullOrWhiteSpace(idCategoryFrom.ToString()))
                    {
                        var cats = new CategoriaService().GetParents(Convert.ToInt32(idCategoryFrom), GetCurrentIdIdioma());
                        //var cats = new CategoriaService().GetParents(produto.IdCategoria.Value, 1);
                        list.AddRange(cats.Select(item => new Tuple<String, String>(item.Nome, String.Format("{0}cat/{1}/{2}", Url.Content("~/"), WebHelpers.ReturnUrlFormated(item.Nome), item.IdCategoria))));

                    }
                }

                list.Add(new Tuple<string, string>(produto.Titulo, String.Format("{0}prod/{1}/{2}", Url.Content("~/"), WebHelpers.ReturnUrlFormated(produto.Titulo), produto.IdProduto)));

                ViewBag.Breadcrumb = list;
                ViewBag.Title = produto.Titulo;

                return View(produto);
            }
            return View();
        }
        public void AtualizarProduto()
        {
            //arrange
            var sku = 1;

            var produto = new Produto()
            {
                Sku       = 1,
                Name      = "Teste2",
                Inventory = new Inventario()
                {
                    Quantity   = null,
                    WareHouses = new List <WareHouse>()
                    {
                        new WareHouse()
                        {
                            Locality = "Outra cidade",
                            Quantity = 20,
                            Type     = "ECOMMERCE"
                        },
                        new WareHouse()
                        {
                            Locality = "São Paulo",
                            Quantity = 15,
                            Type     = "PHYSICAL_STORE"
                        }
                    }
                },
                IsMarketable = null
            };

            //act
            ProdutoService servico = new ProdutoService();

            servico.AtualizarProduto(sku, produto, Db.db);
            var produtoAtualizado = servico.GetProduto(sku, Db.db);

            //assert
            if (produtoAtualizado is null)
            {
                Assert.Fail();
            }

            Assert.AreEqual(produto, produtoAtualizado);
        }
예제 #14
0
        public void Deve_Dar_Erro_Ao_Deletar_Produto()
        {
            var produtoMock  = _produtoFixture.ProdutoMock().First();
            var mensagemErro = Produto.ErroAoModificarProduto;

            var marcaService       = new Mock <IMarcaService>();
            var produtoRespository = new Mock <IProdutoRepository>();

            produtoRespository.Setup(x => x.ObterPorId(It.IsAny <int>()))
            .Returns(produtoMock);

            produtoRespository.Setup(x => x.Deleta(It.IsAny <Produto>()))
            .Throws(new Exception(mensagemErro));

            var service = new ProdutoService(produtoRespository.Object, marcaService.Object);

            Assert.ThrowsAsync <Exception>(async() => service.Deleta(produtoMock));
        }
        public void ProdutoService_Get_ShouldBeOk()
        {
            _mockRepository.Setup(m => m.Get(3)).Returns(new Produto()
            {
                Id             = 3,
                Nome           = "Teste3!",
                PrecoVenda     = 32,
                PrecoCusto     = 43,
                Estoque        = 8,
                DataFabricacao = DateTime.Now.AddHours(9),
                DataValidade   = DateTime.Now.AddDays(12)
            });
            ProdutoService service   = new ProdutoService(_mockRepository.Object);
            Produto        resultado = service.Get(3);

            resultado.Should().NotBeNull();
            _mockRepository.Verify(repository => repository.Get(3));
        }
        public IHttpActionResult Get(int id)
        {
            using (DataContext context = new DataContext())
            {
                ProdutoService produtoService = new ProdutoService(context);

                var p = produtoService.BuscarPorCodigo(id);

                if (p != null)
                {
                    return(Ok(p));
                }
                else
                {
                    return(NotFound());
                }
            }
        }
        public void ExcluirProduto()
        {
            //arrange
            var sku = 1;

            //act
            ProdutoService servico = new ProdutoService();

            servico.DeletarProduto(sku, Db.db);
            var produto = servico.GetProduto(sku, Db.db);

            //assert
            if (produto is null)
            {
                Assert.Pass();
            }
            Assert.Fail();
        }
예제 #18
0
        public void Deve_Deletar_Produto()
        {
            var produtoMock = _produtoFixture.ProdutoMock().First();

            var marcaService       = new Mock <IMarcaService>();
            var produtoRespository = new Mock <IProdutoRepository>();

            produtoRespository.Setup(x => x.ObterPorId(It.IsAny <int>()))
            .Returns(produtoMock);

            produtoRespository.Setup(x => x.Deleta(It.IsAny <Produto>()))
            .Returns(true);

            var service         = new ProdutoService(produtoRespository.Object, marcaService.Object);
            var produtosRetorno = service.Deleta(produtoMock);

            Assert.True(produtosRetorno);
        }
        public void CriarProduto()
        {
            //arrange
            var produto = new Produto()
            {
                Sku       = 1,
                Name      = "Teste1",
                Inventory = new Inventario()
                {
                    Quantity   = null,
                    WareHouses = new List <WareHouse>()
                    {
                        new WareHouse()
                        {
                            Locality = "Sorocaba",
                            Quantity = 6,
                            Type     = "ECOMMERCE"
                        },
                        new WareHouse()
                        {
                            Locality = "São Paulo",
                            Quantity = 2,
                            Type     = "PHYSICAL_STORE"
                        }
                    }
                },
                IsMarketable = null
            };

            //act
            ProdutoService servico = new ProdutoService();

            servico.CriarProduto(produto, Db.db);

            var produtoCriado = servico.GetProduto(produto.Sku, Db.db);

            //assert
            if (produtoCriado is null)
            {
                Assert.Fail();
            }

            Assert.AreEqual(produto, produtoCriado);
        }
        public void PostService_Delete_ShouldBeOk()
        {
            Produto modelo = new Produto()
            {
                Id             = 1,
                Nome           = "Teste!",
                PrecoVenda     = 30,
                PrecoCusto     = 40,
                Estoque        = 5,
                DataFabricacao = DateTime.Now,
                DataValidade   = DateTime.Now.AddDays(1)
            };

            _mockRepository.Setup(m => m.Deletar(modelo.Id));
            ProdutoService service = new ProdutoService(_mockRepository.Object);

            service.Delete(modelo);
            _mockRepository.Verify(repository => repository.Deletar(modelo.Id));
        }
예제 #21
0
        public void DeveCriarUmNovoProduto()
        {
            var produtoDto = new BlueModas.Api.Model.Dtos.ProdutoDto
            {
                Imagem = "UrlImagem",
                Nome   = "Camisa gola polo",
                Preco  = 22.30M
            };

            var produtoModel = new BlueModas.Api.Model.Produto(produtoDto.Id, produtoDto.Nome, produtoDto.Preco, produtoDto.Imagem);


            var produtoService = new ProdutoService(produtoRepositoryMock.Object, clienteServiceMock.Object, pedidoServiceMock.Object);

            produtoRepositoryMock.Setup(x => x.SalvarProduto(produtoModel)).Returns(Task.Run(() => produtoModel.Id));
            var result = produtoService.GravarProduto(produtoDto);

            Assert.Equal(result.Result, produtoModel.Id);
        }
예제 #22
0
        public void buscarProdutos(List <int> idCat, string nome = "")
        {
            ProdutoService produtoService = new ProdutoService();

            List <ProdutosModel> lstProdutos = produtoService.lsProdutos(idEmpresa, idCat);

            foreach (ProdutosModel item in lstProdutos)
            {
                if (nome != "" && item.produto.ToLower().Contains(nome.ToLower()))
                {
                    String[] row =
                    {
                        item.idProduto.ToString(),
                        item.idEmpresa.ToString(),
                        item.produto,
                        item.idCategoria.ToString(),
                        item.valor.ToString("C"),
                        item.observacao,
                        item.dataSync.ToString()
                    };

                    ListViewItem itemList = new ListViewItem(row);
                    listProd.Items.Add(itemList);
                }
                else if (nome == "")
                {
                    String[] row =
                    {
                        item.idProduto.ToString(),
                        item.idEmpresa.ToString(),
                        item.produto,
                        item.idCategoria.ToString(),
                        item.valor.ToString("C"),
                        item.observacao,
                        item.dataSync.ToString()
                    };

                    ListViewItem itemList = new ListViewItem(row);
                    listProd.Items.Add(itemList);
                }
            }
            listProd.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
        }
        public ListPageViewModel(INavigationService navigationService)
        {
            _navigationService = navigationService;
            _ofertaService     = new OfertaService();
            _produtoService    = new ProdutoService();

            Ofertas        = new ObservableCollection <Oferta>();
            OfertasGraph   = new ObservableCollection <Oferta>();
            Produtos       = new ObservableCollection <Produto>();
            ProdutoOfertas = new ObservableCollection <ProdutoOfertas>();

            RefreshCommand = new DelegateCommand(CarregarOfertasAsync);

            OpenGraphCommand = new Command <ProdutoOfertas>(OpenGraphAsync);

            Sincroniza();

            CarregarOfertasAsync();
        }
예제 #24
0
        private void btnNovo_Click(object sender, EventArgs e)
        {
            FormCadastroProd frm = new FormCadastroProd();

            frm.produto = null;
            if (frm.ShowDialog() == DialogResult.OK)
            {
                if (ProdutoService.Inserir(frm.produto))
                {
                    MessageBox.Show("Produto cadastrado com sucesso!", "chronOS", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    AtualizarGrid();
                    Contar();
                }
                else
                {
                    MessageBox.Show("Erro ao cadastrar produto", "chronOS", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
예제 #25
0
 private void AtualizarGrid()
 {
     dgvProdutos.DataSource = (from Produto in ProdutoService.ObterLista()
                               select new
     {
         Produto.Id,
         Produto.Descricao,
         Produto.Codigo,
         Produto.Fabricante,
         Produto.CodigoBarras,
         Produto.NumEstoque,
         Produto.Preco,
         Produto.Fornecedor,
         Produto.DataEntrada,
         Produto.Unidade,
         Produto.PrecoVenda,
         Produto.Grupo
     }).ToList();
 }
예제 #26
0
 public void Save(int produtoID, string produtoNome)
 {
     try
     {
         if (produtoNome != "")
         {
             Produto novo = new Produto();
             novo.ID   = produtoID;
             novo.nome = produtoNome;
             ProdutoService.Salvar(novo);
             this.ViewBag.existSucess = true;
         }
     }
     catch (Exception e)
     {
         this.ViewBag.existError = true;
         this.ViewBag.msgError   = e;
     }
 }
예제 #27
0
        public async Task Deve_Buscar_Produto_Por_Marca()
        {
            var produtosMock = _produtoFixture.ProdutoMock();
            var marcasMock   = _produtoFixture.MarcasMock();

            var marcaService       = new Mock <IMarcaService>();
            var produtoRespository = new Mock <IProdutoRepository>();

            marcaService.Setup(m => m.ObterPorNome(It.IsAny <string>()))
            .ReturnsAsync(marcasMock);

            produtoRespository.Setup(x => x.ObterPorCodigoMarca(It.IsAny <IEnumerable <int> >()))
            .ReturnsAsync(produtosMock);

            var service         = new ProdutoService(produtoRespository.Object, marcaService.Object);
            var produtosRetorno = await service.ObterProdutosPorMarca(produtosMock.First().Descricao);

            Assert.Equal(produtosRetorno, produtosMock);
        }
예제 #28
0
        private void btnGravNovo_Click(object sender, EventArgs e)
        {
            ProdutosModel produto = new ProdutosModel();

            produto.idProduto   = 0;
            produto.idEmpresa   = idEmpresa;
            produto.produto     = txtProd.Text;
            produto.valor       = decimal.Parse(txtValor.Text == "" ? "0": txtValor.Text);
            produto.idCategoria = idCategoria;
            produto.ativo       = 1;
            produto.observacao  = txtObsProd.Text;
            produto.dataCriacao = DateTime.Now;
            produto.dataSync    = DateTime.Now;

            var valido = validarDados(produto);

            if (valido != "")
            {
                var caption = "Preencha os Campos:";
                MessageBox.Show(valido, caption);

                return;
            }

            ProdutoService produtoService = new ProdutoService();
            bool           success        = produtoService.inProduto(1, produto);

            if (success)
            {
                MessageBox.Show("Produto Criado com Sucesso");
                voltar();
                //frmInicio.pContainer.Controls.Clear();
                //frmProduto frmPro = new frmProduto(idEmpresa, frmInicio);
                //frmPro.TopLevel = false;
                //frmInicio.pContainer.Controls.Add(frmPro);
                //frmPro.Show();
            }
            else
            {
                MessageBox.Show("Erro ao Alterar Produto");
            }
        }
예제 #29
0
 private void button1_Click(object sender, EventArgs e)
 {
     dgvProdutos.DataSource = (from Produto in ProdutoService.ObterLista()
                               select new
     {
         Produto.Id,
         Produto.Descricao,
         Produto.Codigo,
         Produto.Fabricante,
         Produto.CodigoBarras,
         Produto.NumEstoque,
         Produto.Preco,
         Produto.Fornecedor,
         Produto.DataEntrada,
         Produto.Unidade,
         Produto.PrecoVenda,
         Produto.Grupo
     }).Where(x => x.CodigoBarras == txtCodigoBarras.Text).ToList();
     Contar();
 }
        public void OServicoDeveAdicionarUmProduto()
        {
            TipoProduto tipo1 = new TipoProduto {
                Id = 1, Nome = "Tipo 1"
            };

            var produto = new Produto {
                Id          = 1,
                Nome        = "Produto 1",
                Preco       = 55.99m,
                Qtde        = 100,
                TipoProduto = tipo1
            };

            ProdutoService service = new ProdutoService(new ProdutoRepositoryFake());

            service.Add(produto);

            Assert.IsTrue(BDFakeProduto.Produtos.Count == 1);
        }
예제 #31
0
        public void ProdutoService_Add_ShouldBeFail()
        {
            // Inicio Cenario

            //Modelo
            Produto modelo = new Produto()
            {
                Id = 1
            };
            //Serviço
            ProdutoService service = new ProdutoService(_mockRepository.Object);
            // Fim Cenario

            //Executa
            Action comparison = () => service.Adicionar(modelo);

            //Saída
            comparison.Should().Throw <EmptyMessageException>();
            _mockRepository.VerifyNoOtherCalls();
        }
예제 #32
0
        public void ProdutoService_Update_ShouldBeOK()
        {
            Produto produto = ObjectMotherProduto.getValidProduto();

            produto.Id = 2;

            _mockRepository.Setup(m => m.Update(produto)).Returns(new Produto()
            {
                Id   = 2,
                Nome = "Feijão"
            });

            ProdutoService service = new ProdutoService(_mockRepository.Object);


            Produto resultado = service.Update(produto);

            resultado.Should().NotBeNull();
            resultado.Nome.Should().Be("Feijão");
            _mockRepository.Verify(repository => repository.Update(produto));
        }
예제 #33
0
 public ActionResult Related(Int32 id)
 {
     var related = new ProdutoService().GetRelatedProducts(id, GetCurrentIdIdioma(), 4);
     return PartialView(related);
 }
예제 #34
0
        public ActionResult ListingBigger(String texto, Int32? page, String orderBy, String orderDirection, Boolean? lancamentos, Boolean? maisvendidos)
        {
            if (string.IsNullOrEmpty(orderBy))
            {
                if (Session["orderby"] == null)
                {
                    Session["orderby"] = "name";
                }
                orderBy = Session["orderby"].ToString();
            }
            else
            {
                Session["orderby"] = orderBy;
            }

            page = page ?? 1;
            orderDirection = orderDirection ?? "asc";
            Tuple<IEnumerable<ProdutoModel>, int> produtos;
            if (lancamentos.HasValue && lancamentos.Value)
            {
                produtos = new ProdutoService().GetNewsByModelsPage(page.Value, GetCurrentIdIdioma(), orderBy, orderDirection);
            }
            else if (maisvendidos.HasValue && maisvendidos.Value)
            {
                produtos = new ProdutoService().GetBestSellersByModelsPage(page.Value, GetCurrentIdIdioma(), orderBy, orderDirection);
            }
            else
            {
                produtos = new ProdutoService().GetByModelsPage(page.Value, GetCurrentIdIdioma(), orderBy, orderDirection, texto);
            }
            //Atualiza os preços promocionais
            var perfil = GetTipoPerfil();
            var list = produtos.Item1.ToList();
            for (int i = 0; i < list.Count(); i++)
            {
                list[i] = new ProdutoService().UpdatePrice(list[i], perfil);
            }

            ViewBag.texto = texto;
            ViewBag.lancamentos = lancamentos;
            ViewBag.maisvendidos = maisvendidos;

            ViewBag.page = page;
            ViewBag.quantity = produtos.Item2;
            ViewBag.orderBy = orderBy;
            ViewBag.orderDirection = orderDirection;
            return PartialView(produtos.Item1);
        }
예제 #35
0
        /// <summary>
        /// Returns a view to edit a product
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Editar(int id)
        {
            //Retorna o produto
            var produto = new ProdutoService().GetById(id);

            //Instância das Controllers
            var marcaController = new MarcaController();
            var linhaController = new LinhaController();
            var tipoPeleController = new TipoPeleController();

            //Instância das Services
            var categoriaService = new CategoriaService();
            var aplicacaoService = new AplicacaoService();
            var idiomaService = new IdiomaService();
            var produtoCategoriaService = new ProdutoCategoriaService();
            var produtoAplicacaoService = new ProdutoAplicacaoService();
            var produtoTipoService = new ProdutoTipoProdutoService();
            var tipoService = new TipoProdutoService();

            //GetAll
            var getAllAplicacoes = aplicacaoService.GetAll();
            var getAllCategorias = categoriaService.GetCategoriesAddMasterCateg();
            var getAllIdiomas = idiomaService.GetAll();
            var getAllTipos = tipoService.GetAll();

            //GetByProductId
            var getAllProdutoCategorias = produtoCategoriaService.GetRecords(x => x.IdProduto == produto.IdProduto);
            var getAllProdutoAplicacoes = produtoAplicacaoService.GetRecords(x => x.IdProduto == produto.IdProduto);
            var getAllProdutoTipos = produtoTipoService.GetRecords(x => x.IdProduto == produto.IdProduto);
            
            //Adicionando SelectListItens na ViewBag
            ViewBag.Marks = marcaController.GetMarkSelectListItem(new MarcaService().GetAll(), null);
            ViewBag.Lines = linhaController.GetLineSelectListItem(new LinhaService().GetAll(), null);
            ViewBag.Skins = tipoPeleController.GetSkinTypeSelectListItem(new TipoPeleService().GetAll(), null);
            ViewBag.Categories = GetProdCategoryListItem(getAllCategorias, null);
            ViewBag.Applications = GetProdAppListItem(getAllAplicacoes, produto.IdProduto);
            ViewBag.Types = GetProdTypesListItem(getAllTipos, null);
            ViewBag.Idiomas = getAllIdiomas;

            //Adicionando valores selecionados na ViewBag
            ViewBag.selApplications = CreateApplicationsSelectedList(getAllAplicacoes,
                                                                     getAllProdutoAplicacoes);

            ViewBag.selCategories = CreateCategoriesSelectedList(getAllCategorias,
                                                                 getAllProdutoCategorias);

            ViewBag.selTypes = CreateTypesSelectedList(getAllTipos,
                                                     getAllProdutoTipos);

            return View(produto);
        }
예제 #36
0
        public ActionResult Listing(Int32? idCategoria, Int32? idLinha, Int32? idTipoProduto, Int32? page, String orderBy, String orderDirection)
        {
            if (string.IsNullOrEmpty(orderBy))
            {
                if (Session["orderby"] == null)
                {
                    Session["orderby"] = "name";
                }
                orderBy = Session["orderby"].ToString();
            }
            else
            {
                Session["orderby"] = orderBy;
            }
            
            page = page ?? 1;
            orderDirection = orderDirection ?? "asc";
            var produtos = new ProdutoService().GetByModelsPage(page.Value, GetCurrentIdIdioma(), orderBy, orderDirection, idCategoria, idLinha, idTipoProduto);
            var perfil = GetTipoPerfil();

            //Atualizará os preços promocionais conforme o Perfil
            var list = produtos.Item1.ToList();
            for (int i = 0; i < list.Count(); i++)
            {
                list[i] = new ProdutoService().UpdatePrice(list[i], perfil);
            }

            ViewBag.idCategoria = idCategoria;
            ViewBag.idLinha = idLinha;
            ViewBag.idTipoProduto = idTipoProduto;
            ViewBag.page = page;
            ViewBag.quantity = produtos.Item2;
            ViewBag.orderBy = orderBy;
            ViewBag.orderDirection = orderDirection;
            return PartialView(list);
        }
예제 #37
0
        public ActionResult Quicklook(Int32 id)
        {
            var prod = new ProdutoService().GetModelById(id, GetCurrentIdIdioma());
            prod = new ProdutoService().UpdatePrice(prod, GetTipoPerfil());

            return PartialView(prod);
        }
예제 #38
0
        public ActionResult ConfirmationBoletoBradesco()
        {
            //PARAMETERS "transId","numOrder","merchantid","cod","cctype","ccna me","ccemail","numparc","valparc","valtotal","prazo","tipopagto","assinatura",
            var numOrder = Request.Form["numOrder"];
            var numeroPedido = int.Parse(numOrder);

            var parameters = new ParametroService().GetByParameterType((int)TipoParametro.FormaDePagamento);
            var banco = parameters.FirstOrDefault(m => m.Nome == "Boleto Bradesco Banco");
            var agencia = parameters.FirstOrDefault(m => m.Nome == "Boleto Bradesco Numero Agencia");
            var conta = parameters.FirstOrDefault(m => m.Nome == "Boleto Bradesco Numero Conta");
            var assinatura = parameters.FirstOrDefault(m => m.Nome == "Boleto Bradesco Assinatura");
            var diasPagamento = parameters.FirstOrDefault(m => m.Nome == "Boleto Bradesco Dias Vencimento");
            int diasPgto = int.Parse(diasPagamento.Valor);


            var sb = new StringBuilder();
            var pedido = new PedidoService().GetByNumero(numeroPedido);

            if (pedido != null)
            {
                sb.Append("<BEGIN_ORDER_DESCRIPTION>");
                sb.Append(string.Format("<orderid>=({0})", numOrder));
                foreach (var item in pedido.Ecommerce_PedidoItem.ToList())
                {
                    var produto = new ProdutoService().GetById(item.IdProduto);

                    sb.Append(string.Format("<descritivo>=({0})", produto.Nome));
                    sb.Append(string.Format("<quantidade>=({0})", item.QuantidadeProduto));
                    sb.Append(string.Format("<unidade>=({0})", "UN"));
                    sb.Append(string.Format("<valor>=({0})", Math.Round((item.ValorProduto * item.QuantidadeProduto) * 100), 0));
                }
                sb.Append("<adicional>=(frete)");
                sb.Append(string.Format("<valorAdicional>=({0})", Math.Round(pedido.ValorFrete.GetValueOrDefault() * 100),0));

                if(pedido.ValorTaxaManuseio.GetValueOrDefault() > 0)
                {
                    sb.Append("<adicional>=(manuseio)");
                    sb.Append(string.Format("<valorAdicional>=({0})",Math.Round(pedido.ValorTaxaManuseio.GetValueOrDefault() * 100),0));    
                }
                
                sb.Append("<END_ORDER_DESCRIPTION>");
                sb.Append("<BEGIN_BOLETO_DESCRIPTION>");
                sb.Append(string.Format("<CEDENTE>=({0})",Resources.Resource.BoletoBradesco_Cedente));
                if (banco != null) sb.Append(string.Format("<BANCO>=({0})", banco.Valor));
                if (agencia != null) sb.Append(string.Format("<NUMEROAGENCIA>=({0})", agencia.Valor));
                if (conta != null) sb.Append(string.Format("<NUMEROCONTA>=({0})", conta.Valor));
                if (assinatura != null) sb.Append(string.Format("<ASSINATURA>=({0})", assinatura.Valor));
                sb.Append(string.Format("<DATAEMISSAO>=({0})", DateTime.Today.ToString("dd/MM/yyyy")));
                sb.Append(string.Format("<DATAPROCESSAMENTO>=({0})", DateTime.Today.ToString("dd/MM/yyyy")));
                sb.Append(string.Format("<DATAVENCIMENTO>=({0})", DateTime.Today.AddDays(diasPgto).ToString("dd/MM/yyyy")));
                sb.Append(string.Format("<NOMESACADO>=({0})",pedido.Ecommerce_Cliente.NomeCompleto));
                sb.Append(string.Format("<ENDERECOSACADO>=({0}, {1})", pedido.Ecommerce_PedidoEndereco.Logradouro, pedido.Ecommerce_PedidoEndereco.Numero));
                sb.Append(string.Format("<CIDADESACADO>=({0})",pedido.Ecommerce_PedidoEndereco.Cidade));
                sb.Append(string.Format("<UFSACADO>=({0})",pedido.Ecommerce_PedidoEndereco.Estado.Prefixo));
                sb.Append(string.Format("<CEPSACADO>=({0})",pedido.Ecommerce_PedidoEndereco.Cep.PadRight(8,'0')));
                sb.Append(string.Format("<CPFSACADO>=({0})",(pedido.Ecommerce_Cliente.Documento ?? "").PadRight(11,'0')));
                sb.Append(string.Format("<NUMEROPEDIDO>=({0})",numOrder));
                sb.Append(string.Format(CultureInfo.CreateSpecificCulture("pt-BR"),"<VALORDOCUMENTOFORMATADO>=({0:C})", pedido.ValorTotal.GetValueOrDefault()).Replace(" ",""));
                sb.Append("<SHOPPINGID>=(1)");
                sb.Append(string.Format("<NUMDOC>=({0})",numOrder));
                sb.Append("<END_BOLETO_DESCRIPTION>");
            }

            ViewBag.XML = sb.ToString();

            return View();
        }
예제 #39
0
 public ActionResult Highlights()
 {
     var list = new ProdutoService().GetHighlights(2, GetCurrentIdIdioma(), null);
     return PartialView(list);
 }
예제 #40
0
 /// <summary>
 /// Return a View with 2 highlight products
 /// </summary>
 /// <param name="id">Id of category</param>
 /// <returns>PartialView</returns>
 public ActionResult Highlights(int id)
 {
     var produtos = new ProdutoService().GetHighlights(2, GetCurrentIdIdioma(), id);
     return PartialView(produtos);
 }
예제 #41
0
 public ProdutoController(ProdutoService service)
 {
     this.service = service;
 }