STRING MÁXIMA NUMA STRING COM NUMEROS
Olá pessoal
Tenho a seguinte query no ASP Net, C#
var ultimoNumero = UnitOfWork.EntityRepository().Find()
.Where(x => x.Cb1TipoBoleto == tipoBoleto)
.Max(x => x.Cb1Documento);
Cb1Documento é uma string.
Na tabela está "322460" e "1000055"
Só que pega o Max "322460" ao invés de "1000055"
O ultimoNumero tem que retornar "1000055" e como string
Como faço a query corretamente?
Grato
Tenho a seguinte query no ASP Net, C#
var ultimoNumero = UnitOfWork.EntityRepository().Find()
.Where(x => x.Cb1TipoBoleto == tipoBoleto)
.Max(x => x.Cb1Documento);
Cb1Documento é uma string.
Na tabela está "322460" e "1000055"
Só que pega o Max "322460" ao invés de "1000055"
O ultimoNumero tem que retornar "1000055" e como string
Como faço a query corretamente?
Grato
Em tese um cast / parse resolve o problema, tente algo como
Se seguir por essa linha, seria algo como...
Não testei, mas pela lógica seria algo nessa linha
var maxDocumentoNumerico = documentos.Max(d => int.Parse(d.Documento));
Se seguir por essa linha, seria algo como...
var ultimoNumero = UnitOfWork.EntityRepository().Find()
.Where(x => x.Cb1TipoBoleto == tipoBoleto)
.Max(x => int.Parse(x.Cb1Documento));
Não testei, mas pela lógica seria algo nessa linha
Alterado em 05/08/2024 10:02:52
Bom dia,
Tentei dessa maneira e não deu certo e o ultimoNumero virou int, comoco ToString() e continuou não ordenando
Coloquei errado a query faltou a Tabela
var ultimoNumero = UnitOfWork.EntityRepository<Cobrancas1>().Find()
.Where(x => x.Cb1TipoBoleto == tipoBoleto)
.Max(x => int.Parse(x.Cb1Documento));
A IA me passou isso, parece funcionar, será que pode dar algum probelma:
var documentos = UnitOfWork.EntityRepository<Cobrancas1>()
.Find()
.Where(x => x.Cb1TipoBoleto == tipoBoleto)
.Select(x => x.Cb1Documento)
.ToList();
var ultimoNumero = documentos
.Select(x => int.TryParse(x, out var parsed) ? parsed : 0)
.Max()
.ToString();
Tentei dessa maneira e não deu certo e o ultimoNumero virou int, comoco ToString() e continuou não ordenando
Coloquei errado a query faltou a Tabela
var ultimoNumero = UnitOfWork.EntityRepository<Cobrancas1>().Find()
.Where(x => x.Cb1TipoBoleto == tipoBoleto)
.Max(x => int.Parse(x.Cb1Documento));
A IA me passou isso, parece funcionar, será que pode dar algum probelma:
var documentos = UnitOfWork.EntityRepository<Cobrancas1>()
.Find()
.Where(x => x.Cb1TipoBoleto == tipoBoleto)
.Select(x => x.Cb1Documento)
.ToList();
var ultimoNumero = documentos
.Select(x => int.TryParse(x, out var parsed) ? parsed : 0)
.Max()
.ToString();
Faça seu login para responder