public async Task <List <ColumnControl> > FindByCompany(string company) { var control = await _columnControlRepository.FindByCompany(company); return(control); }
public async Task <List <dynamic> > ReadFile(string filename, string subject) { string company = ""; List <string> entityIndex = new List <string>(); if (subject.ToUpper().Contains("SULAMERICA")) { company = "Sulamerica"; } else if (subject.ToUpper().Contains("UNIMED")) { company = "Unimed"; } List <ColumnControl> control = await _columnControlRepository.FindByCompany(company); string[] lines = File.ReadAllLines(Directory.GetCurrentDirectory() + filename); Process process = await _processRepository.CreateProcess(company); string field = ""; foreach (string line in lines) { foreach (ColumnControl item in control) { for (int i = item.Start; i <= item.End; i++) { if (field.Length != item.Size) { field += line[i]; } else { break; } } entityIndex.Add(field); field = ""; } if (subject.ToUpper().Contains("SULAMERICA")) { Sulamerica obj = new Sulamerica { Sequencia = entityIndex[0], Carteirinha = entityIndex[1], Nome = entityIndex[2], CPF = entityIndex[3], DataRegistro = entityIndex[4], Mais = entityIndex[5], Valor = InsertDot(entityIndex[6]), CodigoAleatorio = entityIndex[7], Nascimento = entityIndex[8], CNPJ = entityIndex[9], NomeColaborador = entityIndex[10], NE = entityIndex[11], Process = process }; list.Add(obj); await _sulamericaRepository.Create(obj); entityIndex.Clear(); } else if (subject.ToUpper().Contains("UNIMED")) { Unimed obj = new Unimed { TipoServico = entityIndex[0], DataConsumo = DateTime.ParseExact(entityIndex[1], "ddMMyyyy", CultureInfo.CreateSpecificCulture("pt-BR")), ne = entityIndex[2], CodigoDependenteSistema = entityIndex[3], Nome = entityIndex[4], Crm = entityIndex[5], ValorDespesa = decimal.Parse(entityIndex[6]), Amb = entityIndex[7], ControleUnimedLotacao = entityIndex[8], ControleUnimedAcomodacao = entityIndex[9], Pago = entityIndex[10], Process = process }; list.Add(obj); await _unimedRepository.Create(obj); entityIndex.Clear(); } } return(list); }