/// <summary> /// Lista de todos os Documentos não deletados /// </summary> /// <param name="doc_id">Filtro por Id de Documento, null para todos</param> /// <param name="doc_codigo">Filtro por Código de Documento, vazio para todos</param> /// <param name="doc_descricao">Filtro por Descrição de Documento, vazio para todos</param> /// <param name="tpd_id">Filtro por Tipo de Documento, vazio para todos</param> /// <param name="dcl_codigo">Filtro por Classe de Projeto de Documento, vazio para todos</param> /// <param name="usu_id">Id do usuário logado</param> /// <returns>Lista de Documentos</returns> public List <Documento> Documento_ListAll(int?doc_id, string doc_codigo = "", string doc_descricao = "", string tpd_id = "", string dcl_codigo = "", int?usu_id = null) { try { string CaminhoVirtualRaizArquivos = new ParametroDAO().Parametro_GetValor("CaminhoVirtualRaizArquivos"); if (!CaminhoVirtualRaizArquivos.EndsWith("/")) { CaminhoVirtualRaizArquivos = CaminhoVirtualRaizArquivos + "/"; } List <Documento> lst = new List <Documento>(); using (SqlConnection con = new SqlConnection(strConn)) { con.Open(); SqlCommand com = new SqlCommand("STP_SEL_DOCUMENTOS", con); com.CommandType = CommandType.StoredProcedure; com.Parameters.AddWithValue("@doc_id", doc_id); com.Parameters.AddWithValue("@doc_codigo", doc_codigo); com.Parameters.AddWithValue("@doc_descricao", doc_descricao); com.Parameters.AddWithValue("@tpd_id", tpd_id); com.Parameters.AddWithValue("@dcl_codigo", dcl_codigo); com.Parameters.AddWithValue("@usu_id", usu_id); SqlDataReader rdr = com.ExecuteReader(); while (rdr.Read()) { string doc_caminho = rdr["doc_caminho"].ToString(); if (doc_caminho.Trim() != "") { doc_caminho = CaminhoVirtualRaizArquivos + doc_caminho; doc_caminho = HttpUtility.HtmlDecode(doc_caminho); if (!new Gerais().RemoteFileExists(doc_caminho)) { doc_caminho = ""; } } lst.Add(new Documento { doc_id = Convert.ToInt32(rdr["doc_id"]), doc_codigo = rdr["doc_codigo"].ToString(), doc_descricao = rdr["doc_descricao"].ToString(), tpd_id = rdr["tpd_id"].ToString(), doc_caminho = doc_caminho, doc_ativo = Convert.ToInt16(rdr["doc_ativo"]), tpd_descricao = rdr["tpd_descricao"].ToString(), dcl_id = (rdr["dcl_id"] == DBNull.Value) ? 0 : Convert.ToInt16(rdr["dcl_id"]), dcl_codigo = (rdr["dcl_codigo"] == DBNull.Value) ? "" : rdr["dcl_codigo"].ToString(), dcl_descricao = (rdr["dcl_descricao"] == DBNull.Value) ? "" : rdr["dcl_descricao"].ToString() }); } return(lst); } } catch (Exception ex) { int id = 0; new LogSistemaDAO().InserirLogErro(new LogErro(ex, this.GetType().Name, new StackTrace().GetFrame(0).GetMethod().Name), out id); throw new Exception(ex.Message); } }
/// <summary> /// Insere ou Altera os dados do Documento /// </summary> /// <param name="doc">Dados do Documento</param> /// <param name="usu_id">Id do usuário logado</param> /// <param name="ip">IP do usuário logado</param> /// <param name="doc_codigo_filtro">Dados do filtro por Codigo</param> /// <param name="doc_descricao_filtro">Dados do filtro por Descrição</param> /// <param name="tpd_id_filtro">Dados do filtro por Tipo</param> /// <param name="dcl_codigo_filtro">Dados do filtro por Classe</param> /// <param name="qt_por_pagina">Quantidade de registros por página</param> /// <param name="ordenado_por">Ordenado por</param> /// <returns>string</returns> public string Documento_Salvar(Documento doc, int usu_id, string ip, string doc_codigo_filtro = "", string doc_descricao_filtro = "", string tpd_id_filtro = "", string dcl_codigo_filtro = "", int qt_por_pagina = 10, string ordenado_por = "") { try { string CaminhoVirtualRaizArquivos = new ParametroDAO().Parametro_GetValor("CaminhoVirtualRaizArquivos"); string doc_caminho = doc.doc_caminho.Replace(CaminhoVirtualRaizArquivos, ""); doc_caminho = HttpUtility.HtmlEncode(doc_caminho); string saida = "0"; using (SqlConnection con = new SqlConnection(strConn)) { con.Open(); SqlCommand com = new SqlCommand(); if (doc.doc_id > 0) { com.CommandText = "STP_UPD_DOCUMENTO"; } else { com.CommandText = "STP_INS_DOCUMENTO"; } com.Connection = con; com.CommandType = CommandType.StoredProcedure; com.Parameters.Clear(); // System.Data.SqlClient.SqlParameter p_return = new System.Data.SqlClient.SqlParameter(); //p_return.Direction = System.Data.ParameterDirection.ReturnValue; //com.Parameters.Add(p_return); //com.Parameters[0].Size = 1000000; //int.MaxValue; if (doc.doc_id > 0) { com.Parameters.AddWithValue("@doc_id", doc.doc_id); } com.Parameters.AddWithValue("@doc_codigo", doc.doc_codigo.ToUpper()); com.Parameters.AddWithValue("@doc_descricao", doc.doc_descricao); com.Parameters.AddWithValue("@tpd_id", doc.tpd_id); if (doc.dcl_id > 0) { com.Parameters.AddWithValue("@dcl_id ", doc.dcl_id); } com.Parameters.AddWithValue("@doc_caminho", doc_caminho); com.Parameters.AddWithValue("@doc_ativo", doc.doc_ativo); com.Parameters.AddWithValue("@usu_id", usu_id); com.Parameters.AddWithValue("@ip", ip); if (doc.doc_id == 0) // se for insert, tem parametros adicionais { com.Parameters.AddWithValue("@doc_codigo_filtro", doc_codigo_filtro); com.Parameters.AddWithValue("@doc_descricao_filtro", doc_descricao_filtro); com.Parameters.AddWithValue("@tpd_id_filtro", tpd_id_filtro); com.Parameters.AddWithValue("@dcl_codigo_filtro", dcl_codigo_filtro); com.Parameters.AddWithValue("@ordenado_por", ordenado_por); com.Parameters.AddWithValue("@qt_por_pagina", qt_por_pagina); } // com.ExecuteScalar(); SqlDataReader reader = com.ExecuteReader(); while (reader.Read()) { saida = reader["saida"] == DBNull.Value ? "0" : reader["saida"].ToString(); } // return Convert.ToInt32(p_return.Value); return(saida); } } catch (Exception ex) { int id = 0; new LogSistemaDAO().InserirLogErro(new LogErro(ex, this.GetType().Name, new StackTrace().GetFrame(0).GetMethod().Name), out id); throw new Exception(ex.Message); } }