Exemplo n.º 1
0
        /// <summary>
        /// O método realiza a importação dos registros que foram analisados com sucesso.
        /// </summary>
        private void ImportarArquivo()
        {
            try
            {
                List <LoteFechamento> listaSucesso = VS_listaLoteFechamento.Where(p => p.status == LoteStatus.Sucess).ToList();

                if (listaSucesso.Any())
                {
                    int sucesso, erro;

                    VS_listaLoteFechamento = CLS_ArquivoEfetivacaoBO.SalvarRegistrosLote(__SessionWEB.__UsuarioWEB.Usuario.ent_id, listaSucesso, VS_arquivo, out sucesso, out erro);

                    // Configura e atualiza GridView
                    UCComboQtdePaginacao.Valor = 10;
                    grvArquivo.PageIndex       = 0;
                    grvArquivo.PageSize        = Convert.ToInt32(UCComboQtdePaginacao.Valor);
                    grvArquivo.DataBind();

                    // Configura importação dos registro do arquivo
                    lblSucesso.Text = sucesso.ToString();
                    lblErro.Text    = erro.ToString();
                    lblTotal.Text   = (sucesso + erro).ToString();

                    ConfigurarPasso(ePasso.ImportacaoArquivo);

                    // Configura mensagem da importação dos registro
                    lblMessage.Text = sucesso > 0 ?
                                      (
                        erro > 0 ?
                        UtilBO.GetMessage(String.Format("Importação de dados de {0} de {1} realizada com sucesso, porém alguns registros não foram importados devido a erros encontrados.", nomeEfetivacao.ToLower(), nomeBimestre.ToLower()), UtilBO.TipoMensagem.Sucesso) :
                        UtilBO.GetMessage(String.Format("Importação de dados de {0} de {1} realizada com sucesso.", nomeEfetivacao.ToLower(), nomeBimestre.ToLower()), UtilBO.TipoMensagem.Sucesso)
                                      ) :
                                      UtilBO.GetMessage(String.Format("Não foi possível realizar importação de dados de {0} de {1} devido a erros encontrados.", nomeEfetivacao.ToLower(), nomeBimestre.ToLower()), UtilBO.TipoMensagem.Erro);

                    if (sucesso > 0)
                    {
                        ApplicationWEB._GravaLogSistema
                        (
                            LOG_SistemaTipo.Insert,
                            String.Format("Importação de dados de {0} de {1} - sucesso: {2} / erro: {3} / tur_id: {4} / tpc_id: {5}",
                                          nomeEfetivacao.ToLower(), nomeBimestre.ToLower(), sucesso.ToString(), erro.ToString(), VS_tur_id.ToString(), VS_tpc_id.ToString())
                        );
                    }
                }
                else
                {
                    lblMessage.Text = UtilBO.GetMessage("Não existem registros processados com sucesso para realizar a importação.", UtilBO.TipoMensagem.Alerta);
                }
            }
            catch (ValidationException ex)
            {
                lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar importar dados do arquivo.", UtilBO.TipoMensagem.Erro);
            }
            finally
            {
                updMessage.Update();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// O método analisa os registros do arquivo de fechamento.
        /// </summary>
        private void AnalisarArquivo()
        {
            try
            {
                //if (ValidarNomeArquivo())
                if (GestaoEscolarUtilBO.VerificarArquivo(fupArquivo.PostedFile))
                {
                    int sucesso, erro;

                    string nomeArquivoSemExtensao = Path.GetFileNameWithoutExtension(fupArquivo.PostedFile.FileName);
                    string nomeArquivo            = fupArquivo.PostedFile.FileName;
                    int    tamanhoArquivo         = fupArquivo.PostedFile.ContentLength;
                    string typeMime = fupArquivo.PostedFile.ContentType;

                    Stream arquivo = CopiarArquivo(fupArquivo.PostedFile.InputStream);

                    VS_arquivo = CriarAnexo(arquivo, nomeArquivo, tamanhoArquivo, typeMime);

                    arquivo.Position = 0;

                    VS_listaLoteFechamento = CLS_ArquivoEfetivacaoBO.AnalisarRegistrosLote
                                             (
                        (string)GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA"),
                        __SessionWEB.__UsuarioWEB.Usuario.ent_id,
                        VS_cal_id, VS_tpc_id, VS_tur_id,
                        arquivo, nomeArquivoSemExtensao,
                        out sucesso, out erro
                                             );

                    if (VS_listaLoteFechamento.Any())
                    {
                        UCComboQtdePaginacao.Valor = 10;
                        grvArquivo.PageIndex       = 0;
                        grvArquivo.PageSize        = UCComboQtdePaginacao.Valor;
                        grvArquivo.DataBind();
                        updArquivo.Update();

                        // Configura análise dos registro do arquivo
                        lblSucesso.Text = sucesso.ToString();
                        lblErro.Text    = erro.ToString();
                        lblTotal.Text   = (sucesso + erro).ToString();

                        ConfigurarPasso(ePasso.AnaliseArquivo);
                    }
                    else
                    {
                        lblMessage.Text = UtilBO.GetErroMessage("Não existem registros para analisar no arquivo enviado.", UtilBO.TipoMensagem.Alerta);
                        updMessage.Update();
                    }
                }
            }
            catch (ValidationException ex)
            {
                lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (ArgumentException ex)
            {
                lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao realizar a análise dos registros do arquivo.", UtilBO.TipoMensagem.Erro);
                ApplicationWEB._GravaErro(ex);
            }
            finally
            {
                updMessage.Update();
            }
        }