public ValidadorDataEntrega VerificaData(object _info, int linha) { ValidadorDataEntrega validador = new ValidadorDataEntrega(); string _data; try { _data = Convert.ToString(_info); if (String.IsNullOrEmpty(_data)) { validador.Status = "O Campo de data de entrega esta vazio. Linha do Erro: " + linha.ToString(); return(validador); } else { DateTime Data = new DateTime(); try { Data = Convert.ToDateTime(_data); validador.DataEntrega = Data; } catch (Exception e) { validador.Status = $"O Valor da data não está no formato correto! - Linha do Erro: {linha.ToString()} - Erro: " + e; return(validador); } if (Data > DateTime.Now) { validador.Status = "Ok"; } else if (Data == DateTime.Now.Date) { validador.Status = "Data de Entrega igual a Data atual. Entre com informações de entregas futuras. Linha do Erro: " + linha.ToString(); } else if (Data < DateTime.Now.Date) { validador.Status = "Data de Entrega é menor que a Data atual. Entre com informações de entregas futuras. Linha do Erro: " + linha.ToString(); } return(validador); } } catch (Exception e) { validador.Status = "O Campo de Valor esta vazio. Linha do Erro: " + linha.ToString() + " Erro: " + e; return(validador); } }
public async Task <ExcelModel> Leitor(IFormFile file, TabelaDao _context) { List <Tabela> dados = new List <Tabela>(); List <ValidadorModel> validadorModel = new List <ValidadorModel>(); using (var memoryStream = new MemoryStream()) { await file.CopyToAsync(memoryStream).ConfigureAwait(false); using (var package = new ExcelPackage(memoryStream)) { for (int i = 1; i <= package.Workbook.Worksheets.Count; i++) { var totalRows = package.Workbook.Worksheets[i].Dimension?.Rows; var totalCollumns = package.Workbook.Worksheets[i].Dimension?.Columns; for (int j = 2; j <= totalRows.Value; j++) { Tabela infos = new Tabela(); Validador validador = new Validador(); ValidadorModel erros = new ValidadorModel(); ValidadorDataEntrega validadorDataEntrega = validador.VerificaData(package.Workbook.Worksheets[i].Cells[j, 1].Value, j); if (validadorDataEntrega.Status.Contains("Ok")) { infos.DataEntrega = validadorDataEntrega.DataEntrega; } else { erros.IdLinhaExcel = j; erros.TamanhoData = validadorDataEntrega.Status; } ValidadorNomeProduto validadorNomeProduto = validador.VerificaDescricao(package.Workbook.Worksheets[i].Cells[j, 2].Value, j);; if (validadorNomeProduto.Status.Contains("Ok")) { infos.NomeDoProduto = validadorNomeProduto.NomeProduto; } else { erros.IdLinhaExcel = j; erros.TamanhoDescricao = validadorNomeProduto.Status; } ValidadorQuantidade validadorQuantidade = validador.VerificaQtd(package.Workbook.Worksheets[i].Cells[j, 3].Value, j);; if (validadorQuantidade.Status.Contains("Ok")) { infos.Quantidade = validadorQuantidade.Quantidade; } else { erros.IdLinhaExcel = j; erros.TamanhoQtd = validadorQuantidade.Status; } ValidadorValor validadorValor = validador.VerificaValor(package.Workbook.Worksheets[i].Cells[j, 4].Value, j);; if (validadorValor.Status.Contains("Ok")) { infos.ValorUnit = validadorValor.ValorUnit; } else { erros.IdLinhaExcel = j; erros.TamanhoValor = validadorValor.Status; } dados.Add(infos); if (erros.IdLinhaExcel != 0) { validadorModel.Add(erros); } } } } } ExcelModel retorno = new ExcelModel(); retorno.DadosTabela = dados; if (validadorModel.Capacity == 0) { _context.SetDados(dados); } else { retorno.ValidadorModel = validadorModel; } return(retorno); }