예제 #1
0
        public ProdutoPrecoModelView(Produto produto, ProdutoPreco preco)
        {
            if (produto == null)
            {
                throw new Exception("O produto não foi encontrado.");
            }

            if (preco == null)
            {
                throw new Exception("Nenhum preço foi encontrado para o produto.");
            }

            if (preco.Fornecedor != null)
            {
                Fornecedor = new FornecedorModelView(preco.Fornecedor);
            }

            if (preco.Loja != null)
            {
                Loja = new LojaModelView(preco.Loja);
            }

            Produto        = new ProdutoModelView(produto);
            Quantidade     = 1;
            ValorDesconto  = preco.ValorDesconto;
            Valor          = preco.Valor;
            Id             = preco.Id;
            InicioVigencia = preco.InicioVigencia.ToShortDateString();
            FimVigencia    = preco.FimVigencia.ToShortDateString();
            Status         = preco.Status;
            CodigoDesconto = preco.CodigoDesconto;
            LinkDesconto   = preco.LinkDesconto;
        }
예제 #2
0
        public ProdutoPrecoColecao ConsultarPorIdNome()
        {
            try
            {
                ProdutoPrecoColecao produtoPrecoColecao = new ProdutoPrecoColecao();

                conexao.LimparParametros();

                DataTable dataTable = conexao.ExecutarConsulta(CommandType.StoredProcedure, "uspProdutoPrecoConsultarPorIdNome");

                foreach (DataRow dataRow in dataTable.Rows)
                {
                    ProdutoPreco preco = new ProdutoPreco();

                    preco.Produto             = new Produto();
                    preco.Produto.IDProduto   = Convert.ToInt32(dataRow["IDProduto"]);
                    preco.Produto.Nome        = Convert.ToString(dataRow["Nome"]);
                    preco.Preco               = Convert.ToDecimal(dataRow["Valor"]);
                    preco.PrecoTipo           = new ProdutoPrecoTipo();
                    preco.PrecoTipo.IDTipo    = Convert.ToInt32(dataRow["IDTipo"]);
                    preco.PrecoTipo.Descricao = Convert.ToString(dataRow["TipoPreco"]);

                    produtoPrecoColecao.Add(preco);
                }

                return(produtoPrecoColecao);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao consultar preço do produto. Detalhes: " + ex.Message);
            }
        }
예제 #3
0
 public virtual void SalvarProdutoPrecoLoja(int id, [FromBody] ProdutoPreco produtoPreco)
 {
     try
     {
         Servico.SalvarProdutoPrecoFornecedor(id, produtoPreco);
     }
     catch (NotFoundException)
     {
         throw new HttpResponseException(HttpStatusCode.NotFound);
     }
 }
 public ProdutoPrecoViewModel(ProdutoPreco entidade)
 {
     Id             = entidade?.Id ?? 0;
     DataInsercao   = entidade?.DataInsercao ?? DateTime.Now;
     FimVigencia    = (entidade?.FimVigencia ?? DateTime.Now).ToString("dd/MM/yyyy");
     Fornecedor     = new FornecedorViewModel(entidade?.Fornecedor);
     Loja           = new LojaViewModel(entidade?.Loja);
     FornecedorId   = Fornecedor.Id.ToString();
     InicioVigencia = (entidade?.InicioVigencia ?? DateTime.Now).ToString("dd/MM/yyyy");
     Produto        = new ProdutoViewModel(entidade?.Produto);
     ProdutoId      = Produto.Id.ToString();
     Valor          = (entidade?.Valor.ToString("c", new CultureInfo("pt-BR")) ?? "0,00").Replace("R$", "");
     ValorDesconto  = (entidade?.ValorDesconto.ToString("c", new CultureInfo("pt-BR")) ?? "0,00").Replace("R$", "");
 }
예제 #5
0
        public DescontoGlobalModelView(Desconto desconto, ProdutoPreco produtoPreco)
        {
            if (desconto == null)
            {
                throw new Exception("O desconto não foi encontrado.");
            }

            if (produtoPreco == null)
            {
                throw new Exception("Nenhum preço foi encontrado para o produto.");
            }

            Desconto     = new DescontoModelView(desconto);
            ProdutoPreco = new ProdutoPrecoModelView(produtoPreco.Produto, produtoPreco);
        }
예제 #6
0
        public void SalvarProdutoPrecoFornecedor(int fornecedorId, ProdutoPreco produtoPreco)
        {
            var fornecedor = BuscarPorId(fornecedorId);

            produtoPreco.Fornecedor = fornecedor ?? throw new Exception("Fornecedor não encontrada!");

            var produto = produtoPreco.Produto;

            foreach (var informacao in produto.Informacoes)
            {
                if (produto.Id != 0)
                {
                    var produtoAtual = _produtoRepositorio.GetById(produto.Id);

                    if (produtoAtual.Informacoes.Count(x => x.Tipo.Equals(informacao.Tipo)) > 0 && informacao.Tipo == 1)
                    {
                        informacao.Id = produtoAtual.Informacoes.FirstOrDefault(x => x.Tipo.Equals(informacao.Tipo)).Id;
                    }
                }
                informacao.Produto = produto;
            }

            var departamentoProduto = _departamentoProdutoRepositorio.GetById(produto.DepartamentoProduto.Id);

            produto.CategoriaProduto    = departamentoProduto.CategoriaProduto;
            produto.DepartamentoProduto = departamentoProduto;

            _produtoRepositorio.Save(produto);

            _produtoPrecoRepositorio.Save(produtoPreco);

            if (fornecedor.FornecedorProdutos == null)
            {
                fornecedor.FornecedorProdutos = new List <FornecedorProduto>();
            }

            if (fornecedor.FornecedorProdutos.Count(x => x.Produto.Id == produto.Id) <= 0)
            {
                fornecedor.FornecedorProdutos.Add(new FornecedorProduto {
                    Produto = produto
                });

                Salvar(fornecedor);
            }
        }
예제 #7
0
        public void SalvarProdutoPrecoLoja(int lojaId, ProdutoPreco produtoPreco)
        {
            var loja = BuscarPorId(lojaId);

            produtoPreco.Loja = loja ?? throw new Exception("Loja não encontrada!");

            var produto = produtoPreco.Produto;

            foreach (var informacao in produto.Informacoes)
            {
                if (produto.Id != 0)
                {
                    var produtoAtual = _produtoRepositorio.GetById(produto.Id);

                    if (produtoAtual.Informacoes.Count(x => x.Tipo.Equals(informacao.Tipo)) > 0)
                    {
                        informacao.Id = produtoAtual.Informacoes.FirstOrDefault(x => x.Tipo.Equals(informacao.Tipo)).Id;
                    }
                }
                informacao.Produto = produto;
            }

            var departamentoProduto = _departamentoProdutoRepositorio.GetById(produto.DepartamentoProduto.Id);

            produto.CategoriaProduto    = departamentoProduto.CategoriaProduto;
            produto.DepartamentoProduto = departamentoProduto;

            _produtoRepositorio.Save(produto);

            _produtoPrecoRepositorio.Save(produtoPreco);

            if (loja.LojaProdutos == null)
            {
                loja.LojaProdutos = new List <LojaProduto>();
            }

            if (loja.LojaProdutos.Count(x => x.Produto.Id == produto.Id) <= 0)
            {
                loja.LojaProdutos.Add(new LojaProduto {
                    Produto = produto
                });

                Salvar(loja);
            }
        }
예제 #8
0
        public string Inserir(ProdutoPreco produtoPreco)
        {
            try
            {
                conexao.LimparParametros();

                conexao.AdicionarParametros("@IDPRODUTO", produtoPreco.Produto.IDProduto);
                conexao.AdicionarParametros("@PRECO", produtoPreco.Preco);
                conexao.AdicionarParametros("@IDTIPO", produtoPreco.PrecoTipo.IDTipo);

                string IDProduto = conexao.ExecutarManipulacao(CommandType.StoredProcedure, "uspProdutoPrecoInserir").ToString();

                return(IDProduto);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }