public void AtualizarDocumento(Documento documento) { List<Arquivo> arquivo = new List<Arquivo>(); arquivo = documento.arquivos; IDbConnection minhaConexaoexao = new LightBaseConnection("user=lbw;password=lbw;UDB=defudb;server=localhost"); //laço que faz varios updates atualizando os arquivos foreach (Arquivo arq in arquivo) { try { minhaConexaoexao.Open(); IDbCommand comando = new LightBaseCommand("update documento set matricula_Colaborador=@matricula_Colaborador, " + "nome_Colaborador=@nome_Colaborador, arquivos.nome_Arquivo = {@nome_Arquivo}, " + "arquivos_conteudo_Arquivo = {@conteudo_Arquivo}, arquivos.tipo_Arquivo = {@tipo_Arquivo} where id=@id"); comando.Parameters.Add(new LightBaseParameter("id", documento.id)); comando.Parameters.Add(new LightBaseParameter("matricula_Colaborador", documento.matricula_Colaborador)); comando.Parameters.Add(new LightBaseParameter("nome_Colaborador", documento.nome_Colaborador)); comando.Parameters.Add(new LightBaseParameter("arquivos.nome_Arquivo", arq.nome_Arquivo)); comando.Parameters.Add(new LightBaseParameter("arquivos.conteudo_Arquivo", arq.conteudo_Arquivo)); comando.Parameters.Add(new LightBaseParameter("arquivos.tipo_Arquivo", arq.tipo_Arquivo)); comando.Connection = minhaConexaoexao; comando.ExecuteNonQuery(); } finally { minhaConexaoexao.Close(); } } }
public void AtualizarDocumento(Documento documento) { List<Arquivo> arquivo = new List<Arquivo>(); arquivo = documento.arquivos; IDbConnection minhaConexao = new LightBaseConnection("user=lbw;password=lbw;UDB=defudb;server=localhost"); try { minhaConexao.Open(); IDbCommand meuComando = new LightBaseCommand(); string comando = "update documento set matricula_Colaborador=@matricula_Colaborador, " + "nome_Colaborador=@nome_Colaborador"; meuComando.Connection = minhaConexao; for (int i = 0; i < arquivo.Count; i++) { comando += ","; if (i == 0) { comando += "arquivos={"; } comando += "{@nome_Arquivo" + i + ",@conteudo_Arquivo" + i + ",@tipo_Arquivo" + i + "}"; if (arquivo.Count == (i + 1)) { comando += "}"; } } comando += " where id=@id)"; meuComando.CommandText = comando; meuComando.Parameters.Add(new LightBaseParameter("matricula_Colaborador", documento.matricula_Colaborador)); meuComando.Parameters.Add(new LightBaseParameter("nome_Colaborador", documento.nome_Colaborador)); int count = 0; foreach (var arq in arquivo) { meuComando.Parameters.Add(new LightBaseParameter("nome_Arquivo" + count, arq.nome_Arquivo)); meuComando.Parameters.Add(new LightBaseParameter("conteudo_Arquivo" + count, arq.conteudo_Arquivo)); meuComando.Parameters.Add(new LightBaseParameter("tipo_Arquivo" + count, arq.tipo_Arquivo)); count++; } meuComando.ExecuteNonQuery(); } finally { minhaConexao.Close(); } }
public List<Documento> Todos() { List<Documento> lista = new List<Documento>(); IDataReader reader; IDbConnection minhaConexao = new LightBaseConnection("user=lbw;password=lbw;UDB=defudb;server=localhost"); try { minhaConexao.Open(); IDbCommand comando = new LightBaseCommand("select id, matricula_Colaborador, nome_Colaborador, arquivos.nome_Arquivo, " + "arquivos.conteudo_Arquivo from documento"); comando.Connection = minhaConexao; reader = comando.ExecuteReader(); while (reader.Read()) { Documento documento = new Documento(); Arquivo arquivo = new Arquivo(); documento.id = Convert.ToInt16(reader["id"]); documento.matricula_Colaborador = Convert.ToString(reader["matricula_Colaborador"]); documento.nome_Colaborador = Convert.ToString(reader["nome_Colaborador"]); DataTable dt_Arquivos = (DataTable)reader["arquivos"]; string[] dados_Arquivos = { "", "", "" }; for (int i = 0; i < dt_Arquivos.Rows.Count; i++) { dados_Arquivos[i] = dt_Arquivos.Rows[i]["nome_Arquivo"].ToString(); dados_Arquivos[i] = dt_Arquivos.Rows[i]["conteudo_Arquivo"].ToString(); } arquivo.nome_Arquivo = dados_Arquivos[0].ToString(); arquivo.conteudo_Arquivo = dados_Arquivos[0].ToString(); lista.Add(documento); } return lista; } finally { minhaConexao.Close(); } }
public List<Documento> PorColuna(string coluna) { //Ver como faz aqui pra nao precisar ordenar por colunas na parte dos documentos. Só por nome e matricula List<Documento> lista = new List<Documento>(); IDataReader reader; IDbConnection minhaConexao = new LightBaseConnection("user=lbw;password=lbw;UDB=defudb;server=localhost"); try { minhaConexao.Open(); try { IDbCommand comando = new LightBaseCommand("select id, matricula_Colaborador, nome_Colaborador, arquivos.nome_Arquivo, " + "arquivos.conteudo_Arquivo from documento order by " + coluna); comando.Connection = minhaConexao; reader = comando.ExecuteReader(); while (reader.Read()) { Documento documento = new Documento(); Arquivo arquivo = new Arquivo(); documento.id = Convert.ToInt16(reader["id"]); documento.matricula_Colaborador = Convert.ToString(reader["matricula_Colaborador"]); documento.nome_Colaborador = Convert.ToString(reader["nome_Colaborador"]); DataTable dt_Arquivos = (DataTable)reader["arquivos"]; string[] dados_Arquivos = { "", "", "" }; for (int i = 0; i < dt_Arquivos.Rows.Count; i++) { dados_Arquivos[i] = dt_Arquivos.Rows[i]["nome_Arquivo"].ToString(); dados_Arquivos[i] = dt_Arquivos.Rows[i]["conteudo_Arquivo"].ToString(); } arquivo.nome_Arquivo = dados_Arquivos[0].ToString(); arquivo.conteudo_Arquivo = dados_Arquivos[0].ToString(); lista.Add(documento); } } catch (LightBaseException e) { string erro = e.Message; } return lista; } finally { minhaConexao.Close(); } }
public List<Documento> PesquisaPorCampo(string comando) { List<Documento> lista = new List<Documento>(); IDataReader reader; IDbConnection minhaConexao = new LightBaseConnection("user=lbw;password=lbw;udb=DEFUDB;server=localhost"); try { minhaConexao.Open(); try { IDbCommand meuComando = new LightBaseCommand(comando); meuComando.Connection = minhaConexao; reader = meuComando.ExecuteReader(); while (reader.Read()) { Documento documento = new Documento(); Arquivo arquivo = new Arquivo(); documento.id = Convert.ToInt16(reader["id"]); documento.matricula_Colaborador = Convert.ToString(reader["matricula_Colaborador"]); documento.nome_Colaborador = Convert.ToString(reader["nome_Colaborador"]); DataTable dt_Arquivos = (DataTable)reader["arquivos"]; string[] dados_Arquivos = { "", "", "" }; for (int i = 0; i < dt_Arquivos.Rows.Count; i++) { dados_Arquivos[i] = dt_Arquivos.Rows[i]["nome_Arquivo"].ToString(); dados_Arquivos[i] = dt_Arquivos.Rows[i]["conteudo_Arquivo"].ToString(); } arquivo.nome_Arquivo = dados_Arquivos[0].ToString(); arquivo.conteudo_Arquivo = dados_Arquivos[0].ToString(); lista.Add(documento); } } catch (LightBaseException e) { string texto = e.Message; } return lista; } finally { minhaConexao.Close(); } }
public Documento obterDocumentoPorId(string valor) { IDataReader reader; IDbConnection minhaConexao = new LightBaseConnection("user=lbw;password=lbw;udb=defudb;server=localhost"); try { minhaConexao.Open(); Documento documento = new Documento(); try { IDbCommand meuComando = new LightBaseCommand("select id, arquivos from documento where id = " + valor); meuComando.Connection = minhaConexao; reader = meuComando.ExecuteReader(); while (reader.Read()) { documento.id = Convert.ToInt32(reader["id"]); //ver como fazer conversao pra adicionar cada nome de arquivos a uma lista de arquivos //eu faço um data table pra jogar os arquivos...ver medoto TODOS DataTable dt_Arquivos = (DataTable)reader["arquivos"]; //string[] dados_Arquivos = new string[dt_Arquivos.Rows.Count]; List<Arquivo> list_arq = new List<Arquivo>(); for (int i = 0; i < dt_Arquivos.Rows.Count; i++) { Arquivo arquivo = new Arquivo(); arquivo.nome_Arquivo = dt_Arquivos.Rows[i]["nome_Arquivo"].ToString(); arquivo.conteudo_Arquivo = dt_Arquivos.Rows[i]["conteudo_Arquivo"].ToString(); arquivo.tipo_Arquivo = dt_Arquivos.Rows[i]["tipo_Arquivo"].ToString(); list_arq.Add(arquivo); } documento.arquivos = list_arq; } } catch (LightBaseException e) { string erro = e.Message; } return documento; } finally { minhaConexao.Close(); } }
protected void ImageButtonEnviar_Click(object sender, ImageClickEventArgs e) { Documento documento = new Documento(); List<Arquivo> list_arquivo = new List<Arquivo>(); documento.matricula_Colaborador = TextBoxMatricula.Text; documento.nome_Colaborador = TextNome_Colaborador.Text; documento.cpf_Colaborador = TextBoxCPF.Text; documento.foto = ImageFoto.ImageUrl; /* * Salvando arquivos postados no banco * ( ver como faz pra colocar um identificador do tipo pra qnd fazer um update saber buscar esse tipo) */ if (Session["postou_docsPessoais"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("docsPessoais"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_titulacoes"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("titulacoes"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_portarias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("portarias"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_cis"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("cis"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_avisoFerias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("avisoFerias"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_requerimentos"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("requerimentos"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_outros"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("outros"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } //Adicionando a lista dos arquivos aos documentos pra depois adicionar no banco //list_arquivo = (List<Arquivo>)Session["arquivos"]; if (list_arquivo == null) { list_arquivo = new List<Arquivo>(); } documento.arquivos = list_arquivo; Adaptador adpt = new Adaptador(); try { adpt.AtualizarDocumento(documento, id); Log log = new Log(); log.data_log = DateTime.Now; log.tipo_acao_log = "Editar"; log.usuario_log = (String)Session["usuario"]; log.mensagem_acao_log = "O usuário " + log.usuario_log + " atualizou o colaborador de matrícula " + documento.matricula_Colaborador; adpt.InserirLog(log); } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } /*foreach (Arquivo arq in list_arquivo) { versiona_indexa(arq.nome_Arquivo); }*/ mensagem = "Registro modificado com sucesso"; Session.Add("mensagem", mensagem); Server.Transfer("listar.aspx"); }
protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { string id = ""; try { id = obterIdCadastrado(); } catch (Exception ex) { LabelErro.Text = ex.Message; } Documento documento = new Documento(); List <Arquivo> list_arquivo = new List <Arquivo>(); documento.matricula_Colaborador = TextBoxMatricula.Text; documento.nome_Colaborador = TextNome_Colaborador.Text; /* * Salvando arquivos postados no banco * ( ver como faz pra colocar um identificador do tipo pra qnd fazer um update saber buscar esse tipo) */ if (Session["postou_docsPessoais"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "docsPessoais.pdf"); arq_temp.tipo_Arquivo = "pessoais"; list_arquivo.Add(arq_temp); } if (Session["postou_titulacoes"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "titulacoes.pdf"); arq_temp.tipo_Arquivo = "titulacoes"; list_arquivo.Add(arq_temp); } if (Session["postou_portarias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "portarias.pdf"); arq_temp.tipo_Arquivo = "portarias"; list_arquivo.Add(arq_temp); } if (Session["postou_cis"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "cis.pdf"); arq_temp.tipo_Arquivo = "cis"; list_arquivo.Add(arq_temp); } if (Session["postou_avisoFerias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "avisoFerias.pdf"); arq_temp.tipo_Arquivo = "avisoFerias"; list_arquivo.Add(arq_temp); } if (Session["postou_requerimentos"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "requerimentos.pdf"); arq_temp.tipo_Arquivo = "requerimentos"; list_arquivo.Add(arq_temp); } if (Session["postou_outros"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "outros.pdf"); arq_temp.tipo_Arquivo = "outros"; list_arquivo.Add(arq_temp); } //Adicionando a lista dos arquivos aos documentos pra depois adicionar no banco documento.arquivos = list_arquivo; Adaptador adpt = new Adaptador(); try { adpt.InserirDocumento(documento); } catch (Exception ex) { LabelErro.Text = ex.Message; } /*foreach (Arquivo arq in list_arquivo) * { * versiona_indexa(arq.nome_Arquivo); * }*/ mensagem = "Colaborador inserido com sucesso"; Session.Add("mensagem", mensagem); Server.Transfer("listar.aspx"); }
/// <summary> /// Método usado para listar a base ordenada por coluna. /// </summary> /// <param name="select">O comando select.</param> /// <param name="coluna">A coluna a ser ordenada.</param> /// <param name="orderBy">A ordem, se ascendente ou descendente.</param> /// <returns></returns> public List<Documento> PorColuna(string select, string coluna, string orderBy) { if (select == null) { select = "select id, matricula_Colaborador, nome_Colaborador, cpf_Colaborador, arquivos.nome_Arquivo, " + "arquivos.conteudo_Arquivo, arquivos.tipo_Arquivo from documento"; } List<Documento> lista = new List<Documento>(); IDataReader reader; IDbConnection minhaConexao = new LightBaseConnection("user=lbw;password=lbw;UDB=defudb;server=localhost"); try { minhaConexao.Open(); try { IDbCommand comando = new LightBaseCommand(select + " order by " + coluna + " " + orderBy); comando.Connection = minhaConexao; reader = comando.ExecuteReader(); while (reader.Read()) { Documento documento = new Documento(); documento.id = Convert.ToInt16(reader["id"]); documento.matricula_Colaborador = Convert.ToString(reader["matricula_Colaborador"]); documento.nome_Colaborador = Convert.ToString(reader["nome_Colaborador"]); documento.cpf_Colaborador = Convert.ToString(reader["cpf_Colaborador"]); DataTable dt_Arquivos = (DataTable)reader["arquivos"]; List<Arquivo> list_arq = new List<Arquivo>(); for (int i = 0; i < dt_Arquivos.Rows.Count; i++) { Arquivo arquivo = new Arquivo(); arquivo.nome_Arquivo = dt_Arquivos.Rows[i]["nome_Arquivo"].ToString(); arquivo.conteudo_Arquivo = dt_Arquivos.Rows[i]["conteudo_Arquivo"].ToString(); arquivo.tipo_Arquivo = dt_Arquivos.Rows[i]["tipo_Arquivo"].ToString(); list_arq.Add(arquivo); } documento.arquivos = list_arq; lista.Add(documento); } } catch (LightBaseException e) { string erro = e.Message; } return lista; } finally { minhaConexao.Close(); } }
/// <summary> /// Método usado para inserir um documento na base. /// </summary> /// <param name="documento">O documento a ser inserido.</param> public void InserirDocumento(Documento documento) { List<Arquivo> arquivo = new List<Arquivo>(); arquivo = documento.arquivos; IDbConnection minhaConexao = new LightBaseConnection("user=lbw;password=lbw;udb=defudb;server=localhost"); try { minhaConexao.Open(); IDbCommand meuComando = new LightBaseCommand(); string comando = "insert into documento (matricula_Colaborador, foto, nome_Colaborador, cpf_Colaborador, arquivos) " + "values (@matricula_Colaborador, @foto, @nome_Colaborador, @cpf_Colaborador"; //string comando = "insert into documento (matricula_Colaborador, foto, nome_Colaborador, cpf_Colaborador) " // + "values (@matricula_Colaborador, @foto, @nome_Colaborador, @cpf_Colaborador"; meuComando.Connection = minhaConexao; for (int i = 0; i < arquivo.Count; i++) { comando += ", "; if (i == 0) { comando += "{"; } comando += "{@nome_Arquivo" + i + ",@conteudo_Arquivo" + i + ",@tipo_Arquivo" + i + "}"; if (arquivo.Count == (i + 1)) { comando += "}"; } } comando += ")"; meuComando.CommandText = comando; meuComando.Parameters.Add(new LightBaseParameter("matricula_Colaborador", documento.matricula_Colaborador)); meuComando.Parameters.Add(new LightBaseParameter("foto", documento.foto)); meuComando.Parameters.Add(new LightBaseParameter("nome_Colaborador", documento.nome_Colaborador)); meuComando.Parameters.Add(new LightBaseParameter("cpf_Colaborador", documento.cpf_Colaborador)); int count = 0; foreach (var arq in arquivo) { meuComando.Parameters.Add(new LightBaseParameter("nome_Arquivo" + count, arq.nome_Arquivo)); meuComando.Parameters.Add(new LightBaseParameter("conteudo_Arquivo" + count, arq.conteudo_Arquivo)); meuComando.Parameters.Add(new LightBaseParameter("tipo_Arquivo" + count, arq.tipo_Arquivo)); //versiona_indexa(arq.nome_Arquivo); count++; } meuComando.ExecuteNonQuery(); //começa o versionamento: //posso versionar e depois pegar um list dos conteudos e colocar na lista documentos.arquivos.conteudo //e apos isso eu faço um update na base Indexador indexador = new Indexador(); List<Arquivo> lista = new List<Arquivo>(); string id = obterIdCadastrado(); lista = obterIdArquivos(id); foreach (Arquivo arq in lista) { indexador.Indexe(arq); } //faz update dos campos apos versionamento } finally { minhaConexao.Close(); } }
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { int index; usuarioConectado = (String)Session["usuario"]; senhaConectado = (String)Session["senha"]; GoldenAccess goldenAccess = new GoldenAccess("http://localhost:3271/GoldenAccess.soap"); User usuario = new User(usuarioConectado, senhaConectado); try { usuario = goldenAccess.Authenticate(usuarioConectado, senhaConectado); } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } if (usuario.IsAuthenticated && !usuario.Disabled) { if (usuario.HasGroup("RHADM")) { if (e.CommandName == "Abrir") { string nome = ""; try { index = Convert.ToInt32(e.CommandArgument) - (GridView1.PageSize * GridView1.PageIndex); int id = Convert.ToInt32(GridView1.DataKeys[index].Value); Adaptador adpt = new Adaptador(); Documento processo = new Documento(); processo = adpt.obterDocumentoPorId(id.ToString()); //nome = processo.arq_Arquivo; diretorio = Server.MapPath(Settings.Default.CaminhoDoRepositorioDocumento); if (Directory.Exists(diretorio)) { Response.Clear(); Response.ClearHeaders(); Response.AddHeader("Content-Type", "application/pdf"); Response.AddHeader("Content-Disposition", "attachment; filename=" + nome); FileStream file = new FileStream(diretorio + nome, System.IO.FileMode.Open, FileAccess.Read); byte[] bytes = new byte[Convert.ToInt32(file.Length)]; file.Read(bytes, 0, bytes.Length); file.Close(); Response.OutputStream.Write(bytes, 0, bytes.GetUpperBound(0)); Response.Flush(); Response.Close(); } else { LabelErro.Text = "Diretório " + diretorio + " não encontrado"; ImageAttention.Visible = true; } } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } } if (e.CommandName == "Alterar") { index = Convert.ToInt32(e.CommandArgument) - (GridView1.PageSize * GridView1.PageIndex); int id = Convert.ToInt32(GridView1.DataKeys[index].Value); Session.Add("id", id.ToString()); Server.Transfer("alterarColaborador.aspx"); } if (e.CommandName == "Excluir") { index = Convert.ToInt32(e.CommandArgument) - (GridView1.PageSize * GridView1.PageIndex);; int id = Convert.ToInt32(GridView1.DataKeys[index].Value); Adaptador adpt = new Adaptador(); Documento documento = new Documento(); documento = adpt.obterDocumentoPorId(id.ToString()); //testar se ta pegando os arquivos certos if (documento.arquivos != null) { //loop que pega os nomes dos arquivos e deleta foreach (var arq in documento.arquivos) { string nomeArquivoAntigo = arq.nome_Arquivo; if (nomeArquivoAntigo != null) { string diretorioRemover = HttpContext.Current.Server.MapPath("~/arquivos/") + nomeArquivoAntigo; FileInfo arquivoAntigo = new FileInfo(diretorioRemover); arquivoAntigo.Delete(); } } } adpt.RemoverDocumento(id); Log log = new Log(); log.data_log = DateTime.Now; log.tipo_acao_log = "Excluir"; log.usuario_log = (String)Session["usuario"]; log.mensagem_acao_log = "O usuário " + log.usuario_log + " deletou o colaborador de matrícula " + documento.matricula_Colaborador; adpt.InserirLog(log); GridView1.DataSource = adpt.Todos(); GridView1.DataBind(); } } else if (usuario.HasGroup("RHLIM")) { if (e.CommandName == "Abrir") { string nome = ""; try { index = Convert.ToInt32(e.CommandArgument); int id = Convert.ToInt32(GridView1.DataKeys[index].Value); Adaptador adpt = new Adaptador(); Documento processo = new Documento(); processo = adpt.obterDocumentoPorId(id.ToString()); //ver como faço pra colocar o nome do arquivo dos documentos(titulacoes , CIs...) //nome = processo.arq_Arquivo; diretorio = Server.MapPath(Settings.Default.CaminhoDoRepositorioDocumento); if (Directory.Exists(diretorio)) { Response.Clear(); Response.ClearHeaders(); Response.AddHeader("Content-Type", "application/pdf"); Response.AddHeader("Content-Disposition", "attachment; filename=" + nome); FileStream file = new FileStream(diretorio + nome, System.IO.FileMode.Open, FileAccess.Read); byte[] bytes = new byte[Convert.ToInt32(file.Length)]; file.Read(bytes, 0, bytes.Length); file.Close(); Response.OutputStream.Write(bytes, 0, bytes.GetUpperBound(0)); Response.Flush(); Response.Close(); } else { LabelErro.Text = "Diretório " + diretorio + " não encontrado"; ImageAttention.Visible = true; } } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } } if (e.CommandName == "Alterar") { LabelErro.Text = "Você não tem permissão para " + e.CommandName + " esse registro."; ImageAttention.Visible = true; } if (e.CommandName == "Excluir") { LabelErro.Text = "Você não tem permissão para " + e.CommandName + " esse registro."; ImageAttention.Visible = true; } } else { LabelErro.Text = "Você não tem permissão para " + e.CommandName + " esse registro."; ImageAttention.Visible = true; } } else { LabelErro.Text = "Você não é usuário do sistema."; ImageAttention.Visible = true; } }
protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { string id = ""; try { id = obterIdCadastrado(); } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } Documento documento = new Documento(); List <Arquivo> list_arquivo = new List <Arquivo>(); documento.matricula_Colaborador = TextBoxMatricula.Text; documento.nome_Colaborador = TextNome_Colaborador.Text; documento.foto = ImageFoto.ImageUrl; documento.cpf_Colaborador = TextBoxCPF.Text; if ((TextBoxMatricula.Text.Equals("")) || (TextBoxCPF.Text.Equals("")) || (TextNome_Colaborador.Text.Equals(""))) { LabelErro.Text = "Preencha todos os campos!"; ImageAttention.Visible = true; } else { /* * Salvando arquivos postados no banco */ if (Session["postou_docsPessoais"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "docsPessoais.pdf"); arq_temp.tipo_Arquivo = "docsPessoais"; list_arquivo.Add(arq_temp); } if (Session["postou_titulacoes"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "titulacoes.pdf"); arq_temp.tipo_Arquivo = "titulacoes"; list_arquivo.Add(arq_temp); } if (Session["postou_portarias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "portarias.pdf"); arq_temp.tipo_Arquivo = "portarias"; list_arquivo.Add(arq_temp); } if (Session["postou_cis"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "cis.pdf"); arq_temp.tipo_Arquivo = "cis"; list_arquivo.Add(arq_temp); } if (Session["postou_avisoFerias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "avisoFerias.pdf"); arq_temp.tipo_Arquivo = "avisoFerias"; list_arquivo.Add(arq_temp); } if (Session["postou_requerimentos"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "requerimentos.pdf"); arq_temp.tipo_Arquivo = "requerimentos"; list_arquivo.Add(arq_temp); } if (Session["postou_outros"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(id, "outros.pdf"); arq_temp.tipo_Arquivo = "outros"; list_arquivo.Add(arq_temp); } // Verifica se existe documento pra adicionar ao banco if (list_arquivo.Count == 0) { LabelErro.Text = "Nenhum documento adicionado"; ImageAttention.Visible = true; } else { //Adicionando a lista dos arquivos aos documentos pra depois adicionar no banco documento.arquivos = list_arquivo; Adaptador adpt = new Adaptador(); try { adpt.InserirDocumento(documento); Log log = new Log(); log.data_log = DateTime.Now; log.tipo_acao_log = "Inserir"; log.usuario_log = (String)Session["usuario"]; log.mensagem_acao_log = "O usuário " + log.usuario_log + " inseriu o colaborador de matrícula " + documento.matricula_Colaborador; adpt.InserirLog(log); } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } /*foreach (Arquivo arq in list_arquivo) * { * versiona_indexa(arq.nome_Arquivo); * }*/ mensagem = "Colaborador inserido com sucesso"; Session.Add("mensagem", mensagem); Server.Transfer("listar.aspx"); } } }
/// <summary> /// Método usado para cadastrar o colaborador e seus respectivos documentos. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Web.UI.ImageClickEventArgs"/> instance containing the event data.</param> protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { Documento documento = new Documento(); List<Arquivo> list_arquivo = new List<Arquivo>(); documento.matricula_Colaborador = matricula; documento.nome_Colaborador = TextNome_Colaborador.Text; documento.foto = ImageFoto.ImageUrl; documento.cpf_Colaborador = TextBoxCPF.Text; if ((TextBoxMatricula.Text.Equals("")) || (TextBoxCPF.Text.Equals("")) || (TextNome_Colaborador.Text.Equals(""))) { LabelErro.Text = "Preencha todos os campos!"; ImageAttention.Visible = true; } else { /* * Salvando arquivos postados no banco */ if (Session["postou_docsPessoais"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(matricula, "docsPessoais.pdf"); arq_temp.tipo_Arquivo = "docsPessoais"; list_arquivo.Add(arq_temp); } if (Session["postou_titulacoes"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(matricula, "titulacoes.pdf"); arq_temp.tipo_Arquivo = "titulacoes"; list_arquivo.Add(arq_temp); } if (Session["postou_portarias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(matricula, "portarias.pdf"); arq_temp.tipo_Arquivo = "portarias"; list_arquivo.Add(arq_temp); } if (Session["postou_portariasComProcesso"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(matricula, "portariasComProcesso.pdf"); arq_temp.tipo_Arquivo = "portariasComProcesso"; list_arquivo.Add(arq_temp); } if (Session["postou_cis"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(matricula, "cis.pdf"); arq_temp.tipo_Arquivo = "cis"; list_arquivo.Add(arq_temp); } if (Session["postou_avisoFerias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(matricula, "avisoFerias.pdf"); arq_temp.tipo_Arquivo = "avisoFerias"; list_arquivo.Add(arq_temp); } if (Session["postou_requerimentos"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(matricula, "requerimentos.pdf"); arq_temp.tipo_Arquivo = "requerimentos"; list_arquivo.Add(arq_temp); } if (Session["postou_outros"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp.nome_Arquivo = montarFormatoGD(matricula, "outros.pdf"); arq_temp.tipo_Arquivo = "outros"; list_arquivo.Add(arq_temp); } // Verifica se existe documento pra adicionar ao banco if (list_arquivo.Count == 0) { LabelErro.Text = "Nenhum documento adicionado"; ImageAttention.Visible = true; } else { //Adicionando a lista dos arquivos aos documentos pra depois adicionar no banco documento.arquivos = list_arquivo; Adaptador adpt = new Adaptador(); try { adpt.InserirDocumento(documento); //Após inserir o documento é inserido na base de LOG a mensagem de log do que foi feito. Log log = new Log(); log.data_log = DateTime.Now; log.tipo_acao_log = "Inserir"; log.usuario_log = (String)Session["usuario"]; log.mensagem_acao_log = "Matrícula " + documento.matricula_Colaborador + " (" + documento.nome_Colaborador + ")"; adpt.InserirLog(log); } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } //foreach (Arquivo arq in list_arquivo) //{ // versiona_indexa(arq.nome_Arquivo); //} mensagem = "Colaborador inserido com sucesso"; Session.Add("mensagem", mensagem); Server.Transfer("listar.aspx"); } } }
/// <summary> /// Método usado para obter os arquivos pelo id do documento. /// </summary> /// <param name="id">O id.</param> /// <returns></returns> public List<Arquivo> obterIdArquivos(string id) { IDataReader reader; IDbConnection con = new LightBaseConnection("user=lbw;password=lbw;udb=defudb;server=localhost"); Documento documento = new Documento(); try { con.Open(); string comando = "select arquivos from documento where id = "; IDbCommand comm = new LightBaseCommand(comando + id); comm.Connection = con; reader = comm.ExecuteReader(); reader.Read(); DataTable dt_Arquivos = (DataTable)reader["arquivos"]; //string[] dados_Arquivos = new string[dt_Arquivos.Rows.Count]; List<Arquivo> list_arq = new List<Arquivo>(); for (int i = 0; i < dt_Arquivos.Rows.Count; i++) { Arquivo arquivo = new Arquivo(); arquivo.nome_Arquivo = dt_Arquivos.Rows[i]["nome_Arquivo"].ToString(); arquivo.id_Arquivo = Convert.ToInt32(dt_Arquivos.Rows[i]["id_arquivo"].ToString()); list_arq.Add(arquivo); } return list_arq; } finally { con.Close(); } }
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { int index; usuarioConectado = (String)Session["usuario"]; senhaConectado = (String)Session["senha"]; GoldenAccess goldenAccess = new GoldenAccess("http://localhost:3271/GoldenAccess.soap"); User usuario = new User(usuarioConectado, senhaConectado); try { usuario = goldenAccess.Authenticate(usuarioConectado, senhaConectado); } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } if (usuario.IsAuthenticated && !usuario.Disabled) { if (usuario.HasGroup("RHADM")) { if (e.CommandName == "Abrir") { string nome = ""; try { index = Convert.ToInt32(e.CommandArgument) - (GridView1.PageSize * GridView1.PageIndex); int id = Convert.ToInt32(GridView1.DataKeys[index].Value); Adaptador adpt = new Adaptador(); Documento processo = new Documento(); processo = adpt.obterDocumentoPorId(id.ToString()); //nome = processo.arq_Arquivo; diretorio = Server.MapPath(Settings.Default.CaminhoDoRepositorioDocumento); if (Directory.Exists(diretorio)) { Response.Clear(); Response.ClearHeaders(); Response.AddHeader("Content-Type", "application/pdf"); Response.AddHeader("Content-Disposition", "attachment; filename=" + nome); FileStream file = new FileStream(diretorio + nome, System.IO.FileMode.Open, FileAccess.Read); byte[] bytes = new byte[Convert.ToInt32(file.Length)]; file.Read(bytes, 0, bytes.Length); file.Close(); Response.OutputStream.Write(bytes, 0, bytes.GetUpperBound(0)); Response.Flush(); Response.Close(); } else { LabelErro.Text = "Diretório " + diretorio + " não encontrado"; ImageAttention.Visible = true; } } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } } if (e.CommandName == "Alterar") { index = Convert.ToInt32(e.CommandArgument) - (GridView1.PageSize * GridView1.PageIndex); int id = Convert.ToInt32(GridView1.DataKeys[index].Value); Session.Add("id", id.ToString()); Server.Transfer("alterarColaborador.aspx"); } if (e.CommandName == "Excluir") { index = Convert.ToInt32(e.CommandArgument) - (GridView1.PageSize * GridView1.PageIndex); ; int id = Convert.ToInt32(GridView1.DataKeys[index].Value); Adaptador adpt = new Adaptador(); Documento documento = new Documento(); documento = adpt.obterDocumentoPorId(id.ToString()); //testar se ta pegando os arquivos certos if (documento.arquivos != null) { //loop que pega os nomes dos arquivos e deleta foreach (var arq in documento.arquivos) { string nomeArquivoAntigo = arq.nome_Arquivo; if (nomeArquivoAntigo != null) { string diretorioRemover = HttpContext.Current.Server.MapPath("~/arquivos/") + nomeArquivoAntigo; FileInfo arquivoAntigo = new FileInfo(diretorioRemover); arquivoAntigo.Delete(); } } } adpt.RemoverDocumento(id); Log log = new Log(); log.data_log = DateTime.Now; log.tipo_acao_log = "Excluir"; log.usuario_log = (String)Session["usuario"]; log.mensagem_acao_log = "O usuário " + log.usuario_log + " deletou o colaborador de matrícula " + documento.matricula_Colaborador; adpt.InserirLog(log); GridView1.DataSource = adpt.Todos(); GridView1.DataBind(); } } else if (usuario.HasGroup("RHLIM")) { if (e.CommandName == "Abrir") { string nome = ""; try { index = Convert.ToInt32(e.CommandArgument); int id = Convert.ToInt32(GridView1.DataKeys[index].Value); Adaptador adpt = new Adaptador(); Documento processo = new Documento(); processo = adpt.obterDocumentoPorId(id.ToString()); //ver como faço pra colocar o nome do arquivo dos documentos(titulacoes , CIs...) //nome = processo.arq_Arquivo; diretorio = Server.MapPath(Settings.Default.CaminhoDoRepositorioDocumento); if (Directory.Exists(diretorio)) { Response.Clear(); Response.ClearHeaders(); Response.AddHeader("Content-Type", "application/pdf"); Response.AddHeader("Content-Disposition", "attachment; filename=" + nome); FileStream file = new FileStream(diretorio + nome, System.IO.FileMode.Open, FileAccess.Read); byte[] bytes = new byte[Convert.ToInt32(file.Length)]; file.Read(bytes, 0, bytes.Length); file.Close(); Response.OutputStream.Write(bytes, 0, bytes.GetUpperBound(0)); Response.Flush(); Response.Close(); } else { LabelErro.Text = "Diretório " + diretorio + " não encontrado"; ImageAttention.Visible = true; } } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } } if (e.CommandName == "Alterar") { LabelErro.Text = "Você não tem permissão para " + e.CommandName + " esse registro."; ImageAttention.Visible = true; } if (e.CommandName == "Excluir") { LabelErro.Text = "Você não tem permissão para " + e.CommandName + " esse registro."; ImageAttention.Visible = true; } } else { LabelErro.Text = "Você não tem permissão para " + e.CommandName + " esse registro."; ImageAttention.Visible = true; } } else { LabelErro.Text = "Você não é usuário do sistema."; ImageAttention.Visible = true; } }
protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { string id = ""; try { id = obterIdCadastrado(); } catch (Exception ex) { LabelErro.Text = ex.Message; } Documento documento = new Documento(); List<Arquivo> list_arquivo = new List<Arquivo>(); documento.matricula_Colaborador = TextBoxMatricula.Text; documento.nome_Colaborador = TextNome_Colaborador.Text; /* * Salvando arquivos postados no banco * ( ver como faz pra colocar um identificador do tipo pra qnd fazer um update saber buscar esse tipo) */ if (Session["postou_docsPessoais"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = inserirArquivosNaLista(id, "docsPessoais"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_titulacoes"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = inserirArquivosNaLista(id, "titulacoes"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_portarias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = inserirArquivosNaLista(id, "portarias"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_cis"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = inserirArquivosNaLista(id, "cis"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_avisoFerias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = inserirArquivosNaLista(id, "avisoFerias"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_requerimentos"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = inserirArquivosNaLista(id, "requerimentos"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_outros"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = inserirArquivosNaLista(id, "outros"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } //Adicionando a lista dos arquivos aos documentos pra depois adicionar no banco documento.arquivos = list_arquivo; Adaptador adpt = new Adaptador(); try { adpt.AtualizarDocumento(documento); } catch (Exception ex) { LabelErro.Text = ex.Message; } /*foreach (Arquivo arq in list_arquivo) { versiona_indexa(arq.nome_Arquivo); }*/ mensagem = "Registro modificado com sucesso"; Session.Add("mensagem", mensagem); Server.Transfer("listar.aspx"); }
protected void ImageButtonEnviar_Click(object sender, ImageClickEventArgs e) { Documento documento = new Documento(); List <Arquivo> list_arquivo = new List <Arquivo>(); documento.matricula_Colaborador = TextBoxMatricula.Text; documento.nome_Colaborador = TextNome_Colaborador.Text; documento.cpf_Colaborador = TextBoxCPF.Text; documento.foto = ImageFoto.ImageUrl; /* * Salvando arquivos postados no banco * ( ver como faz pra colocar um identificador do tipo pra qnd fazer um update saber buscar esse tipo) */ if (Session["postou_docsPessoais"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("docsPessoais"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_titulacoes"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("titulacoes"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_portarias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("portarias"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_cis"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("cis"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_avisoFerias"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("avisoFerias"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_requerimentos"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("requerimentos"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } if (Session["postou_outros"].ToString().Equals((string)"sim")) { Arquivo arq_temp = new Arquivo(); arq_temp = retornaArquivos("outros"); if (arq_temp != null) { list_arquivo.Add(arq_temp); } } //Adicionando a lista dos arquivos aos documentos pra depois adicionar no banco //list_arquivo = (List<Arquivo>)Session["arquivos"]; if (list_arquivo == null) { list_arquivo = new List <Arquivo>(); } documento.arquivos = list_arquivo; Adaptador adpt = new Adaptador(); try { adpt.AtualizarDocumento(documento, id); Log log = new Log(); log.data_log = DateTime.Now; log.tipo_acao_log = "Editar"; log.usuario_log = (String)Session["usuario"]; log.mensagem_acao_log = "O usuário " + log.usuario_log + " atualizou o colaborador de matrícula " + documento.matricula_Colaborador; adpt.InserirLog(log); } catch (Exception ex) { LabelErro.Text = ex.Message; ImageAttention.Visible = true; } /*foreach (Arquivo arq in list_arquivo) * { * versiona_indexa(arq.nome_Arquivo); * }*/ mensagem = "Registro modificado com sucesso"; Session.Add("mensagem", mensagem); Server.Transfer("listar.aspx"); }