Ejemplo n.º 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);
        }