예제 #1
0
        /// <summary>
        /// Método busca por um produto a partir do EAN informado
        /// </summary>
        /// <param name="EAN">EAN sendo verificado dígito verificado, permitido somente com 13 dígitos</param>
        /// <returns>Produto localizado a partir do EAN informado</returns>
        public NetProduto BuscaProduto(String EAN)
        {
            ///Validação dos dados.
            if (EAN.Trim().Equals(""))
            {
                throw new Exception("EAN não informado.");
            }

            Ean13Barcode2005.Ean13 ean = new Ean13Barcode2005.Ean13();
            if (EAN.Length > 13)
            {
                throw new Exception("EAN só pode conter 13 dígitos.");
            }

            if (EAN.Length < 13)
            {
                EAN = "0000000000000" + EAN;
                EAN = new Uteis().direita(EAN, 13);
            }

            if (!ean.chekDigitoEAN(EAN))
            {
                throw new Exception("Código EAN inválido.");
            }
            //Busca
            NetProduto resporta = _daoProduto.BuscaEAN(EAN);

            if (resporta == null)
            {
                throw new Exception("Não foi localizado nenhum produto com o EAN informado.");
            }

            return(resporta);
        }
예제 #2
0
        /// <summary>
        /// Método verifica se há itens sem estoque no orçamento e já atauliza a lista de itens sobre sua disponibilidade.
        /// </summary>
        /// <returns>Booleano de confirmação</returns>
        private bool ItensSemEstoque()
        {
            Boolean resposta = false;

            foreach (var item in _itens)
            {
                //Atualizando a disponibilidade
                NetProduto produto = _daoProduto.Buscar(item.Id_produto);

                if (produto.QuantEstoque == 0)
                {
                    item.Status = Class.Orcamento.Status.FALTA;
                    resposta    = true;
                }
                else if (produto.QuantEstoque < item.Quantidade)
                {
                    item.Status = Class.Orcamento.Status.INSUFICIENTE;
                    resposta    = true;
                }
                else if (produto.Descontinuado)
                {
                    item.Status = Class.Orcamento.Status.DISCONTINUADO;
                    resposta    = true;
                }
                else
                {
                    item.Status = Class.Orcamento.Status.DISPONIVEL;
                }
            }
            return(resposta);
        }
예제 #3
0
        /// <summary>
        /// Método efetua a busca por um produto a partir do código informado no paramentro. O mesmo deve ser positivo maior que zero.
        /// </summary>
        /// <param name="cod">Inteiro positivo maior que zero.</param>
        /// <returns>Produto localizado a aprtir do código informado.</returns>
        public NetProduto BuscaProduto(Int64 cod)
        {
            if (cod <= 0)
            {
                throw new Exception("Código do produto inválido.");
            }

            NetProduto resposta = _daoProduto.Buscar(cod);

            if (resposta == null)
            {
                throw new Exception("Produto não localizado com o código informado. Favor verificar o código.");
            }

            return(resposta);
        }