コード例 #1
0
        public ValidadorValor VerificaValor(object _info, int linha)
        {
            ValidadorValor validador = new ValidadorValor();
            string         _data;

            try
            {
                _data = Convert.ToString(_info);
                if (String.IsNullOrEmpty(_data))
                {
                    validador.Status = "O Campo de Valor Unitario esta nulo. Linha do Erro: " + linha.ToString();
                    return(validador);
                }
                else
                {
                    double data;
                    try
                    {
                        data = Convert.ToDouble(_data);
                    }
                    catch (Exception e)
                    {
                        validador.Status = "O Campo de Valor Unitario está no formato errado para conversão. Linha do Erro: " + linha.ToString() + " Erro: " + e;
                        return(validador);
                    }
                    if (data == null)
                    {
                        validador.Status = "O Campo de Valor Unitario esta nulo. Linha do Erro: " + linha.ToString();
                        return(validador);
                    }
                    else if (data <= 0)
                    {
                        validador.Status = "O Campo de Valor Unitario tem valor negativo. Linha do Erro: " + linha.ToString();
                        return(validador);
                    }
                    else if (data == 0)
                    {
                        validador.Status = "O Campo de Valor Unitario tem valor igual a 0. Linha do Erro: " + linha.ToString();
                        return(validador);
                    }

                    validador.Status    = "Ok";
                    validador.ValorUnit = Math.Round(data, 2);
                    return(validador);
                }
            }
            catch (Exception e)
            {
                validador.Status = "O Campo de Valor esta vazio. Linha do Erro: " + linha.ToString() + " Erro: " + e;
                return(validador);
            }
        }
コード例 #2
0
        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);
        }