Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class SQGModel
- {
- public int Linha { get; set; }
- public string Grupo { get; set; }
- public string Cota { get; set; }
- public string NomeConsorciado { get; set; }
- public int NoParcela { get; set; }
- public string CdProduto { get; set; }
- public double ValorLiberado { get; set; }
- public string Teste { get; set; }
- public string AgrupadorNomeProduto { get; set; }
- }
- public class SqgDadosFiltradosModel
- {
- public string Grupo { get; set; }
- public string Cota { get; set; }
- public string NomeConsorciado { get; set; }
- public string CdProduto { get; set; }
- public int Parcelas {get;set;}
- //public double ValorLiberado { get; set; }
- public double Total { get; set; }
- }
- private static List<SQGModel> Dados(StreamReader reader)
- {
- int counter = 1;
- string line = null;
- int noParcelaOut;
- double valorLiberadoOut;
- var listData = new List<SQGModel>();
- while ((line = reader.ReadLine()) != null)
- {
- var addData = new SQGModel
- {
- Linha = counter,
- Grupo = line.Substring(0, 6),
- Cota = line.Substring(6, 6),
- NoParcela = Int32.TryParse(line.Substring(648, 3), out noParcelaOut) ? noParcelaOut : 0,
- NomeConsorciado = line.Substring(12, 70),
- CdProduto = line.Substring(518, 3),
- Teste = (line.Substring(518, 3) == "ING") ? line.Substring(562, 10).Trim() : "",
- AgrupadorNomeProduto = $"{line.Substring(12, 70).Replace(" ", "").Replace("-","").Replace(".","")}:{line.Substring(518, 3)}",
- ValorLiberado =
- (line.Substring(518, 3) == "ANG") ?
- (double.TryParse(line.Substring(564, 6).Trim().Replace("MIL", "000"), out valorLiberadoOut) ? valorLiberadoOut : 00.00) :
- (line.Substring(518, 3) == "0AN") ?
- (double.TryParse(line.Substring(551, 6), out valorLiberadoOut) ? valorLiberadoOut : 0.00) :
- (line.Substring(518, 3) == "0IM") ?
- (double.TryParse(line.Substring(562, 10).Trim(), out valorLiberadoOut) ? valorLiberadoOut : 0.00) :
- (line.Substring(518, 3) == "ING") ?
- (double.TryParse(line.Substring(562, 10).Trim(), out valorLiberadoOut) ? valorLiberadoOut : 0.00) : 00.00,
- };
- counter++;
- listData.Add(addData);
- }
- return listData;
- }
- private static List<string> DadosFiltrados(List<SQGModel> dados)
- {
- return dados
- .GroupBy(g => g.NomeConsorciado)
- .Select(x => new SqgDadosFiltradosModel
- {
- Grupo = x.FirstOrDefault().Grupo,
- Cota = x.FirstOrDefault().Cota,
- NomeConsorciado = x.FirstOrDefault().NomeConsorciado,
- CdProduto = x.FirstOrDefault().CdProduto,
- Total = x.Sum(s => s.ValorLiberado)
- })
- .Where(x => x.Total >= 500000)
- .Select(f => f.NomeConsorciado.Trim())
- .ToList();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement