Untitled
unknown
plain_text
a year ago
7.9 kB
16
Indexable
Never
[HttpPost, ValidateAntiForgeryToken] public IActionResult FuncionarioConvenioSalvarImportacao( [Bind] List<FuncionarioConvenio> funcionarioConvenios ) { return RedirectToAction( nameof( FuncionarioConvenioIndex ) ); } [HttpPost] public IActionResult FuncionarioConvenioDelete( [Bind] FuncionarioConvenio funcionarioConvenio ) { return RedirectToAction( nameof( FuncionarioConvenioIndex ) ); } public IActionResult ImportarPlanilhaFuncionarioConvenio() { if( ViewBag.EmpresaConvenio == null ) DropDownEmpresaConvenio(); return View(); } public async Task<IActionResult> EnviarPlanilhaFuncionarioConvenio( IFormFile file, int IdempresaConvenio, int IdconvenioRegra ) { string diretorio = webUtil.DiretorioTemporario() + file.FileName; await webUtil.CopiandoArquivoStream( diretorio, file.OpenReadStream() ); var ds = webUtil.LerCSV( diretorio, true ); IList<FuncionarioConvenio> list = new List<FuncionarioConvenio>(); if( ds.Tables.Count > 1 ) { ViewBag.ErroImportacao = Convert.ToString( ds.Tables[ 1 ].Rows[ 0 ][ "Descricao" ] ); return RedirectToAction( nameof( ImportarPlanilhaFuncionarioConvenio ) ); } else { if( ds.Tables[ 0 ].Columns.Count != 7 ) { ViewBag.ErroImportacao = "Quantidade de colunas inválidas"; return RedirectToAction( nameof( ImportarPlanilhaFuncionarioConvenio ) ); } bool erro = false; for( int i = 0; i < ds.Tables[ 0 ].Rows.Count; i++ ) { var dr = ds.Tables[ 0 ].Rows[ i ]; if( string.IsNullOrEmpty( dr[ 0 ].ToString() ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Matricula não pode estar vazia"; break; } if( !webUtil.VerificarNumero( Convert.ToString( dr[ 0 ] ) ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Matricula contém valores inválidos!"; break; } if( string.IsNullOrEmpty( dr[ 1 ].ToString() ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Número do Cartão não pode estar vazia"; break; } if( !webUtil.VerificarNumero( Convert.ToString( dr[ 1 ] ) ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Número do Cartão contém valores inválidos!"; break; } if( !string.IsNullOrEmpty( dr[ 2 ].ToString() ) && !webUtil.VerificarNumero( Convert.ToString( dr[ 2 ] ) ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Número do Documento contém valores inválidos!"; break; } if( string.IsNullOrEmpty( dr[ 3 ].ToString() ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Nome não pode estar vazia"; break; } if( webUtil.VerificarNumero( Convert.ToString( dr[ 3 ] ) ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Nome não pode conter numeros"; break; } if( string.IsNullOrEmpty( dr[ 4 ].ToString() ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Limite de Crédito não pode estar vazia"; break; } if( !webUtil.VerificarNumero( Convert.ToString( dr[ 4 ] ).Replace( ",", null ).Replace( ".", null ) ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Limite de Crédito deve conter apenas numeros"; break; } if( string.IsNullOrEmpty( dr[ 5 ].ToString() ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Vencimento não pode estar vazia"; break; } if( !webUtil.VerificarNumero( Convert.ToString( dr[ 5 ] ) ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Vencimento deve conter números"; break; } if( string.IsNullOrEmpty( dr[ 6 ].ToString() ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Bloqueio não pode estar vazia"; break; } if( !Convert.ToString( dr[ 6 ] ).ToUpper().Equals( "S" ) && !Convert.ToString( dr[ 6 ] ).ToUpper().Equals( "N" ) ) { erro = true; ViewBag.ErroImportacao = "A coluna Bloqueio devem conter a letra S ou N"; break; } FuncionarioConvenio fc = funcionarioConvenioRepository.Get( x => x.IdempresaConvenio == IdempresaConvenio && x.NroCartao == Convert.ToString( dr[ 1 ] ) ); if( fc == null ) { fc = new FuncionarioConvenio { IdempresaConvenio = IdempresaConvenio, IdconvenioRegra = IdconvenioRegra, Matricula = Convert.ToString( dr[ 0 ] ), NroCartao = Convert.ToString( dr[ 1 ] ), NroDocumento = Convert.ToString( dr[ 2 ] ), Nome = webUtil.CorrigirTexto( Convert.ToString( dr[ 3 ] ) ), VlrLimiteCredito = Convert.ToDecimal( dr[ 4 ].ToString().Replace( ",", "." ) ), VlrLimiteUtilizado = 0, DiaVencFat = Convert.ToInt32( dr[ 5 ] ), Bloqueado = Convert.ToString( dr[ 6 ] ) == "S", }; } else { fc.IdconvenioRegra = IdconvenioRegra; fc.Matricula = Convert.ToString( dr[ 0 ] ); fc.NroDocumento = Convert.ToString( dr[ 2 ] ); fc.Nome = webUtil.CorrigirTexto( Convert.ToString( dr[ 3 ] ) ); fc.VlrLimiteCredito = Convert.ToDecimal( dr[ 4 ].ToString().Replace( ",", "." ) ); fc.DiaVencFat = Convert.ToInt32( dr[ 5 ] ); fc.Bloqueado = Convert.ToString( dr[ 6 ] ) == "S"; } list.Add( fc ); } if( erro ) return RedirectToAction( nameof( ImportarPlanilhaFuncionarioConvenio ) ); } return View( nameof( VisualizarPlanilhaFuncionarioConvenio ), list ); }