public async Task <CodigoBarra> Gerar(GerarCodigoBarra obj)
        {
            int count = await _codigoBarraRepositorio.BuscarUltimoNumeroPorData(obj.Data);

            var codigoBarra = new CodigoBarra();

            for (int i = 1; i <= obj.Quantidade; i++)
            {
                var  random = new Random();
                long valor  = random.Next(1000000000);


                string codigo    = valor.ToString("0000000000000"),
                       codigoAEN = codigo;

                if (await Existe(codigo) || await Existe(codigoAEN))
                {
                    obj.Quantidade++;
                    continue;
                }

                codigoBarra = new CodigoBarra(codigo, codigoAEN, ++count, obj.Data);

                if (!codigoBarra.IsValid)
                {
                    return(codigoBarra);
                }

                await _codigoBarraRepositorio.Inserir(codigoBarra);
            }

            return(codigoBarra);
        }
        public async Task <bool> Gerar(GerarCodigoBarraViewModel obj)
        {
            GerarCodigoBarra codigoBarra = new GerarCodigoBarra()
            {
                Quantidade = obj.Quantidade, Data = obj.Data
            };
            await _codigoBarraServico.Gerar(codigoBarra);

            if (await _uOw.Commit())
            {
                return(true);
            }
            else
            {
                await _uOw.Rollback();
            }

            return(false);
        }