private void deshabilitarEmisor(int Rut, bdConexion conexion, Respuesta resp, log logs) { try { string sql = "UPDATE EMPR SET INDI_WSS = 'N' WHERE RUTT_EMPR = {0} "; if (conexion.EjecutaNonQuery(String.Format(sql, Rut)) == 0) { resp.SCodigo = ERROR_DESHABILITAR_RUT_RECE; resp.SMensaje = "No se pudo deshabilitar Rut en emisores"; logs.putLog(1, "-- No se pudo deshabilitar Rut en emisores"); } else { conexion.confirma(); resp.SCodigo = CONSULTA_OK; resp.SMensaje = "Se hdesabilita Rut en emisores"; logs.putLog(1, "-- Se hdesabilita Rut en emisores"); } } catch (Exception ex) { logs.putLog(1, "Proceso: deshabilitarEmisor"); logs.putLog(1, "Error: " + Convert.ToString(ex.Message)); } }
public DTEPendietes entregarDTEPendientes() { DTEPendietes dtes = new DTEPendietes(); log logs = new log(); logs.nombreLog = "entregarDTEPendientes"; logs.tipoLog = Convert.ToInt32(ConfigurationManager.AppSettings["tl"]); setEgateHome(000, logs); logs.putLog(1, ""); logs.putLog(1, "INICIO entregarDTEPendientes"); bdConexion conexion = new bdConexion(); try { conexion.egateHome = logs.egateHome; conexion.conexionOpen(); logs.putLog(1, "conexionOpen(): OK"); int cantDTERecuperar = Int32.Parse(ConfigurationManager.AppSettings["cantDTE"]); logs.putLog(1, "Cantidad de DTE a recuperar: " + cantDTERecuperar); recuperarDTEs(dtes, cantDTERecuperar, conexion, logs); logs.putLog(1, "recuperarDTEs finaliza normalmente"); } catch (Exception ex) { logs.putLog(1, "Proceso: " + logs.nombreLog); logs.putLog(1, "Error: " + Convert.ToString(ex.Message)); } return(dtes); }
private void quitarReceptor(int Rut, int digiVeri, string nombre, bdConexion conexion, Respuesta resp, log logs) { try { string sql = "INSERT INTO PERSONAS (RUTT_PERS, DGTO_PERS, NOMB_PERS, EMPR_PERS, INDI_WSS) VALUES ({0}, {1}, '{2}', 'S', 'N')"; if (conexion.EjecutaNonQuery(String.Format(sql, Rut, digiVeri, nombre)) == 0) { resp.SCodigo = ERROR_QUITAR_RUT_RECE; resp.SMensaje = "No se pudo quitar Rut en receptores"; logs.putLog(1, "-- No se pudo quitar Rut en receptores"); } else { conexion.confirma(); resp.SCodigo = CONSULTA_OK; resp.SMensaje = "Se quita Rut en receptores"; logs.putLog(1, "-- Se quita Rut en receptores"); } } catch (Exception ex) { logs.putLog(1, "Proceso: quitarReceptor"); logs.putLog(1, "Error: " + Convert.ToString(ex.Message)); } }
// Rut -> Boolean private static bool existeRutReceptor(int rut) { string sql = string.Empty; string codi_empr = string.Empty; DataTable result; bdConexion conexion = new bdConexion(); return(false); }
private int cantDTERestantes(string sql, bdConexion conexion) { string strCount = string.Empty; DataTable result; strCount = sql.Replace("select distinct", "select count(*) from (select distinct"); strCount = strCount.Replace("--cantDTEOracle", " ) "); result = conexion.EjecutaSelect(strCount); return(Int32.Parse(result.Rows[0][0].ToString())); }
private Boolean existeReceptor(int Rut, bdConexion conexion, Respuesta resp, log logs) { Boolean result = true; string sql = "SELECT COUNT(*) FROM PERSONAS WHERE RUTT_PERS = '{0}'"; int cantPersonas = Convert.ToInt32(conexion.SelectInto(String.Format(sql, Rut))); if (cantPersonas == 0) { result = false; resp.SMensaje = "Rut no se encuentra"; logs.putLog(1, "-- Rut no se encuentra"); } return(result); }
public Respuesta QuitarRutReceptor(int Rut, int digiVeri, string nombre) { string sql = string.Empty; string xml = string.Empty; string xmlBase64 = string.Empty; string corr_docu = string.Empty; string sEmex = string.Empty; string codi_empr = string.Empty; Respuesta resp = new Respuesta(); log logs = new log(); logs.nombreLog = "QuitarRutReceptor"; logs.tipoLog = Convert.ToInt32(ConfigurationManager.AppSettings["tl"]); if (!validaRut(Rut, resp, logs)) { return(resp); } setEgateHome(Rut, logs); logs.putLog(1, ""); logs.putLog(1, "INICIO QuitarRutReceptor"); bdConexion conexion = new bdConexion(); try { conexion.egateHome = logs.egateHome; conexion.conexionOpen(); if (!existeReceptor(Rut, conexion, resp, logs)) { quitarReceptor(Rut, digiVeri, nombre, conexion, resp, logs); } else { deshabilitarReceptor(Rut, conexion, resp, logs); } } catch (Exception ex) { logs.putLog(1, "Proceso: " + logs.nombreLog); logs.putLog(1, "Error: " + Convert.ToString(ex.Message)); } return(resp); }
private Boolean existeEmisor(int Rut, bdConexion conexion, Respuesta resp, log logs) { Boolean result = true; string sql = "SELECT COUNT(*) FROM EMPR WHERE RUTT_EMPR = '{0}'"; int cantPersonas = Convert.ToInt32(conexion.SelectInto(String.Format(sql, Rut))); if (cantPersonas == 0) { result = false; resp.SCodigo = ERROR_EMISOR_INVALIDO_EMIS; resp.SMensaje = "No se encuentra Rut del emisor"; logs.putLog(1, "-- No se encuentra Rut del emisor"); } return(result); }
private string getXML(string corrDocu, bdConexion conexion, log logs) { string xmlResult = string.Empty; string xml = string.Empty; string sql = "select clob_docu from dto_docu_lob where corr_docu = {0} and tipo_arch = 'XML'"; try { xml = conexion.SelectText(String.Format(sql, corrDocu)); xml.Trim(); } catch (Exception ex) { logs.putLog(1, "Proceso: getXML"); logs.putLog(1, "Error: " + Convert.ToString(ex.Message)); } return(xml); }
private List <Referencia> getRefencias(string corrDocu, bdConexion conexion) { string sql = string.Empty; DataTable result; List <Referencia> list_refe_temp = new List <Referencia>(); sql = " select foli_refe, tipo_refe "; sql += " from dto_docu_refe_p "; sql += " where corr_docu = {0} "; result = conexion.EjecutaSelect(String.Format(sql, corrDocu)); int dte_num = result.Rows.Count; for (int i = 0; i < dte_num; i++) { string foliRefe = result.Rows[i][0].ToString(); string tipoRefe = result.Rows[i][1].ToString(); Referencia ref_temp = new Referencia(foliRefe, tipoRefe); list_refe_temp.Add(ref_temp); } return(list_refe_temp); }
public Respuesta QuitarRutEmisor(int Rut, int digiVeri, string nombre) { Respuesta resp = new Respuesta(); log logs = new log(); logs.nombreLog = "QuitarRutEmisor"; logs.tipoLog = Convert.ToInt32(ConfigurationManager.AppSettings["tl"]); if (!validaRut(Rut, resp, logs)) { return(resp); } setEgateHome(Rut, logs); logs.putLog(1, ""); logs.putLog(1, "INICIO QuitarRutEmisor"); bdConexion conexion = new bdConexion(); try { conexion.egateHome = logs.egateHome; conexion.conexionOpen(); if (existeEmisor(Rut, conexion, resp, logs)) { deshabilitarEmisor(Rut, conexion, resp, logs); } } catch (Exception ex) { logs.putLog(1, "Proceso: " + logs.nombreLog); logs.putLog(1, "Error: " + Convert.ToString(ex.Message)); } return(resp); }
public Respuesta marcarDTETraspasado(string sCodEmpr, string sTipoDocu, string sFoliDocu, string sRuttEmis) { Respuesta resp = new Respuesta(); log logs = new log(); logs.nombreLog = "marcarDTETraspasado"; logs.tipoLog = Convert.ToInt32(ConfigurationManager.AppSettings["tl"]); if (!validaRut(Convert.ToInt32(sRuttEmis), resp, logs)) { return(resp); } setEgateHome(Convert.ToInt32(sRuttEmis), logs); logs.putLog(1, ""); logs.putLog(1, "INICIO marcarDTETraspasado"); bdConexion conexion = new bdConexion(); try { conexion.egateHome = logs.egateHome; conexion.conexionOpen(); logs.putLog(1, "conexionOpen(): OK"); marcarDTE(sCodEmpr, sTipoDocu, sFoliDocu, sRuttEmis, conexion, resp, logs); logs.putLog(1, "marcarDTE finaliza normalmente"); } catch (Exception ex) { logs.putLog(1, "Proceso: " + logs.nombreLog); logs.putLog(1, "Error: " + Convert.ToString(ex.Message)); } return(resp); }
private void marcarDTE(string sCodEmpr, string sTipoDocu, string sFoliDocu, string sRuttEmis, bdConexion conexion, Respuesta resp, log logs) { try { string sql = " UPDATE DTO_ENCA_DOCU_P SET ESTA_TRAS = 'TRA' "; sql += " WHERE CODI_EMPR = {0} "; sql += " AND TIPO_DOCU = {1} "; sql += " AND FOLI_DOCU = {2} "; sql += " AND RUTT_EMIS = {3} "; if (conexion.EjecutaNonQuery(String.Format(sql, sCodEmpr, sTipoDocu, sFoliDocu, sRuttEmis)) == 0) { resp.SCodigo = ERROR_MARCAR_DTE_TRASPASADO; resp.SMensaje = "No se pudo marcar el DTE como traspasado"; logs.putLog(1, "-- No se pudo marcar el DTE como traspasado"); } else { conexion.confirma(); resp.SCodigo = CONSULTA_OK; resp.SMensaje = "Se marca exitosamente DTE como traspasado"; logs.putLog(1, "-- Se marca exitosamente DTE como traspasado"); } } catch (Exception ex) { logs.putLog(1, "Proceso: marcarDTE"); logs.putLog(1, "Error: " + Convert.ToString(ex.Message)); } }
private void recuperarDTEs(DTEPendietes dtes, int cantDTERecuperar, bdConexion conexion, log logs) { string sql = string.Empty; DataTable result; sql = " select distinct dto.rutt_rece, dto.digi_rece, dto.rutt_emis, dto.digi_emis, dto.tipo_docu, dto.foli_docu, dto.fech_emis, dto.mont_neto, dto.mont_exen, dto.mont_tota, dto.corr_docu, dto.codi_empr "; sql += " FROM dto_enca_docu_p dto "; sql += " LEFT OUTER JOIN dto_docu_refe_p ref ON dto.corr_docu=ref.corr_docu "; sql += " where dto.esta_docu in ('INI', 'ERA') "; sql += " and dto.tipo_docu in ('33','34') "; sql += " and dto.esta_tras is null "; sql += " and dto.corr_docu not in ( "; sql += " SELECT dto.corr_docu "; sql += " FROM dto_enca_docu_p dto "; sql += " LEFT OUTER JOIN dto_docu_refe_p ref ON dto.corr_docu=ref.corr_docu "; sql += " where dto.esta_docu in ('INI', 'ERA') "; sql += " and dto.tipo_docu in ('33','34') "; sql += " and ref.TIPO_REFE = 803 and ref.foli_refe = 'COM' "; sql += " ) --cantDTEOracle "; string sqlCantDTE = cantidadDTE(sql, cantDTERecuperar, conexion.baseDatos); result = conexion.EjecutaSelect(sqlCantDTE); int dte_num = result.Rows.Count; logs.putLog(1, "-- Cantidad de DTE a entregar (dte_num): " + dte_num); if (dte_num == 0) { dtes.cantRestantes = 0; logs.putLog(1, "-- No hay DTE pendientes por entregar: "); logs.putLog(1, "-- cantRestantes: 0"); } else { for (int i = 0; i < dte_num; i++) { string ruttRece = result.Rows[i][0].ToString(); string digiRece = result.Rows[i][1].ToString(); string ruttEmis = result.Rows[i][2].ToString(); string digiEmis = result.Rows[i][3].ToString(); string tipoDocu = result.Rows[i][4].ToString(); string foliDocu = result.Rows[i][5].ToString(); string fechEmis = result.Rows[i][6].ToString(); string montNeto = result.Rows[i][7].ToString(); string montExen = result.Rows[i][8].ToString(); string montTota = result.Rows[i][9].ToString(); string corrDocu = result.Rows[i][10].ToString(); string codiEmpr = result.Rows[i][11].ToString(); List <Referencia> Refencias = new List <Referencia>(); Refencias = getRefencias(corrDocu, conexion); string xml = getXML(corrDocu, conexion, logs); string pdf = getPDF(codiEmpr, ruttRece, ruttEmis, tipoDocu, foliDocu, logs); Documento dte_temp = new Documento(ruttRece, digiRece, ruttEmis, digiEmis, tipoDocu, foliDocu, fechEmis, montNeto, montExen, montTota, xml, pdf, Refencias); dtes.DTE.Add(dte_temp); logs.putLog(1, "-- Recuperado DTE Folio: " + foliDocu); } dtes.cantRestantes = cantDTERestantes(sql, conexion) - dte_num; logs.putLog(1, "-- Cantidad restante de DTE (cantRestantes) " + dtes.cantRestantes); } }
public ResponseGet getStateRejection(string company, string CodigoSolicitud) { ResponseGet mens = new ResponseGet(); // Seguridad de Servicios Web (Validando presencia de todos los campos) if (string.IsNullOrEmpty(company) || string.IsNullOrEmpty(CodigoSolicitud)) { mens.Codigo = ER0; mens.Mensaje = "Todos los parámetros deben contener valor"; return(mens); } if (!DbnetWssSecurity.DbnetWssAutorizador.validaUsuario(company)) { mens.Codigo = "ER1"; mens.Mensaje = "Empresa no se encuentra configurada."; return(mens); } #region Definicion de Variables String Servicio = ""; String Metodo = ""; String log_mensaje = ""; log logs = new log(); int posicion; string companySinDV; string companyCodeSiiSinDV; string digito = ""; String LogAplica = "N"; string ErrLugar = ""; String ListaParametros = ""; #endregion Definicion de Variables bdConexion conexion = new bdConexion(); try { #region Inicializacion Nombre de WSS y Metodo ErrLugar = "Inicializacion de WSS y Metodo"; ListaParametros = "Parametros : [company - " + company + "][CodigoSolicitud - " + CodigoSolicitud + "]."; Servicio = "SupplierETDRejection"; Metodo = "getStateRejection"; #endregion Inicializacion Nombre de WSS y Metodo #region Calcula RutEmpresa sin DV posicion = company.IndexOf("-"); companySinDV = company; if (company.IndexOf("-") >= 0) { digito = company.Substring(posicion + 1, 1); if (digito != "") { companySinDV = company.Substring(0, posicion); } } #endregion Calcula RutEmpresa sin DV #region Verifica Empresa Autorizada a trabajar con WebService ErrLugar = "Verifica Empresa Autorizada a trabajar con WebService"; mens.Codigo = "INI"; mens.Mensaje = "Inicializacion. Company [" + companySinDV + "]"; if (ConfigurationManager.AppSettings["eHome:" + companySinDV] != null) { #region Manejo Logs logs.nombreLog = Servicio + "_" + Metodo; logs.tipoLog = Convert.ToInt32(ConfigurationManager.AppSettings["tl"]); logs.egateHome = ConfigurationManager.AppSettings["eHome:" + companySinDV]; mens.Mensaje = "Rut Empresa : " + company; log_mensaje = mens.Mensaje; #endregion Manejo Logs } else { mens.Codigo = "ER7"; mens.Mensaje = "Empresa [ " + companySinDV + " ] no autorizada a operar en WebService."; return(mens); } #endregion Verifica Empresa Autorizada a trabajar con WebService mens.Codigo = "INI"; mens.Mensaje = "Entra."; #region Conexion a BD ErrLugar = "Conexion a BD"; conexion.egateHome = logs.egateHome; conexion.conexionOpen(); #endregion Conexion a BD LogAplica = "S"; // A partir de aca puedo escribir en log #region Valida DV RutReceptor ErrLugar = "Valida DV RutReceptor"; if (digito != "") { if (!Validaciones.validaRut(company)) { mens.Codigo = ER0; mens.Mensaje = "DV RutReceptor no corresponde"; log_mensaje += " - " + mens.Mensaje; logs.putLog(1, log_mensaje); return(mens); } company = companySinDV; } #endregion Valida Rut Receptor int codi_empr = Convert.ToInt32(ConfigurationManager.AppSettings["codi_empr:" + company]); string codi_emex = ConfigurationManager.AppSettings["codi_emex:" + company]; if ((codi_empr != 1) || string.IsNullOrEmpty(codi_emex)) { ErrLugar = String.Format("Empresa [{0}] no autorizada a operar en WebService.", company); mens.Codigo = ER5; mens.Mensaje = ErrLugar; log_mensaje += " - " + mens.Mensaje + " Receptor : [" + company + "]" + " CodigoSolicitud : [" + CodigoSolicitud + "]."; logs.putLog(1, log_mensaje); return(mens); } String rutt_empr = String.Empty; String digi_empr = String.Empty; if (!conexion.validaExistenciaReclamo(company, CodigoSolicitud, out rutt_empr, out digi_empr)) { #region Documento no existe ErrLugar = "Documento no existe"; mens.Codigo = "ER5"; mens.Estado = "0"; mens.Mensaje = "Documento no existe o posee estado que no permite ser reclamado"; log_mensaje += " - " + mens.Mensaje + " Emisor : [" + company + "]" + " CodigoSolicitud : [" + CodigoSolicitud + "]."; logs.putLog(1, log_mensaje); return(mens); #endregion Documento no existe } else { logs.putLog(1, "Documento Existe"); String pi_codi_erro = String.Empty; String pi_mens_erro = String.Empty; String pi_resp_msge = String.Empty; if (conexion.recoverRejection(company, CodigoSolicitud, rutt_empr, digi_empr, out pi_codi_erro, out pi_mens_erro, out pi_resp_msge)) { conexion.confirma(); mens.Codigo = DOK; mens.Estado = pi_codi_erro; mens.Mensaje = pi_mens_erro; logs.putLog(1, "Se recupera Reclamo"); log_mensaje += " - company : [" + company + "] CodigoSolicitud : [" + CodigoSolicitud + "] rutt_empr : [" + rutt_empr + "-" + digi_empr + "mens.Codigo : [" + mens.Codigo + "]" + " mens.Estado : [" + mens.Estado + "]" + " mens.Mensaje : [" + mens.Mensaje + "]"; logs.putLog(1, log_mensaje); return(mens); } else { ErrLugar = "Error al aplicar Reclamo"; mens.Codigo = "DON"; mens.Mensaje = "Error al aplicar Reclamo"; log_mensaje += " - " + mens.Mensaje + " - company : [" + company + "] CodigoSolicitud : [" + CodigoSolicitud + "] rutt_empr : [" + rutt_empr + "-" + digi_empr + "mens.Codigo : [" + mens.Codigo + "]" + " mens.Estado : [" + mens.Estado + "]" + " mens.Mensaje : [" + mens.Mensaje + "]"; logs.putLog(1, log_mensaje); conexion.rechaza(); } //oData = true; } return(mens); } catch (Exception ex) { #region Manejo de Exception if (LogAplica == "S") { int largo; largo = Convert.ToString(ex.Message).Length; if (largo > 100) { largo = 100; } mens.Codigo = "ERR"; mens.Mensaje = "Se ha producido el error : " + Convert.ToString(ex.Message) + "."; log_mensaje = "Rut Empresa : " + company + ". Error en " + ErrLugar + " : " + Convert.ToString(ex.Message) + ". " + ListaParametros; logs.putLog(1, log_mensaje); } else { mens.Codigo = "ERR"; mens.Mensaje = "Se ha producido el error : " + ErrLugar + Convert.ToString(ex.Message) + "."; } return(mens); #endregion Tratamiento de Error } finally { if (conexion != null) { conexion.closeConexion(); } } }
public Response setRejection(string company, string companyCodeSii, int documentType, int documentNumber, string statusCode) { string ErrLugar = ""; ErrLugar = "Se crea instancia Mensaje()"; Response mens = new Response(); // Seguridad de Servicios Web (Validando presencia de todos los campos) if (string.IsNullOrEmpty(company) || string.IsNullOrEmpty(companyCodeSii) || string.IsNullOrEmpty(documentType.ToString()) || string.IsNullOrEmpty(documentNumber.ToString()) || string.IsNullOrEmpty(statusCode)) { mens.Codigo = ER0; mens.Mensaje = "Todos los parámetros deben contener valor"; return(mens); } if (!DbnetWssSecurity.DbnetWssAutorizador.validaUsuario(company)) { mens.Codigo = "ER1"; mens.Mensaje = "Empresa no se encuentra configurada."; return(mens); } #region Define Variables String Servicio = ""; String Metodo = ""; String log_mensaje = ""; log logs = new log(); int posicion; string companySinDV; string companyCodeSiiSinDV; string digitoCompanyCodeSii = String.Empty; string digitoCompany = String.Empty; String LogAplica = "N"; String ListaParametros = ""; #endregion Define Variables bdConexion conexion = new bdConexion(); try { #region Inicializacion Nombre de WSS y Metodo ErrLugar = "Inicializacion Nombre de WSS y Metodo"; ListaParametros = "Parametros : Empresa [" + company + "]."; ListaParametros = "Parametros : [Emisor - " + companyCodeSii + "][TipoDocumento - " + documentType + "][Folio - " + documentNumber + "][Estado - " + statusCode + "]."; Servicio = "SupplierETDRejection"; Metodo = "setRejection"; #endregion Inicializacion Nombre de WSS y Metodo #region Calcula RutEmpresa sin DV ErrLugar = "Calcula RutEmpresa sin DV"; posicion = company.IndexOf("-"); companySinDV = company; if (company.IndexOf("-") >= 0) { digitoCompany = company.Substring(posicion + 1, 1); if (digitoCompany != "") { companySinDV = company.Substring(0, posicion); } } #endregion Calcula RutEmpresa sin DV // Determinar RutsinDV #region Verifica Empresa Autorizada a trabajar con WebService ErrLugar = "Verifica Empresa Autorizada a trabajar con WebService"; mens.Codigo = "INI"; mens.Mensaje = "Inicializacion. Company [" + companySinDV + "]"; if (ConfigurationManager.AppSettings["eHome:" + companySinDV] != null) { #region Manejo Logs ErrLugar = "Manejo Logs"; logs.nombreLog = Servicio + "_" + Metodo; logs.tipoLog = Convert.ToInt32(ConfigurationManager.AppSettings["tl"]); logs.egateHome = ConfigurationManager.AppSettings["eHome:" + companySinDV]; mens.Mensaje = "Rut Empresa : " + company; log_mensaje = mens.Mensaje; #endregion Manejo Logs } else { mens.Codigo = "ER7"; mens.Mensaje = "Empresa [ " + companySinDV + " ] no autorizada a operar en WebService."; return(mens); } #endregion Verifica Empresa Autorizada a trabajar con WebService mens.Codigo = "INI"; mens.Mensaje = "Entra."; #region Conexion a BD ErrLugar = "Conexion a BD"; conexion.egateHome = ConfigurationManager.AppSettings["eHome:" + companySinDV]; conexion.conexionOpen(); #endregion Conexion a BD LogAplica = "S"; // A partir de aca puedo escribir en log #region Valida DV RutReceptor ErrLugar = "Valida DV RutReceptor"; if (digitoCompany != "") { if (!Validaciones.validaRut(company)) { mens.Codigo = "ER1"; mens.Mensaje = "Rut Receptor no Válido"; log_mensaje += " - " + mens.Mensaje; logs.putLog(1, log_mensaje); return(mens); } company = companySinDV; } #endregion Valida Rut Receptor #region Valida DV RutEmisor ErrLugar = "Valida DV Emisor"; posicion = companyCodeSii.IndexOf("-"); companyCodeSiiSinDV = companyCodeSii; if (companyCodeSii.IndexOf("-") >= 0) { digitoCompanyCodeSii = companyCodeSii.Substring(posicion + 1, 1); if (digitoCompanyCodeSii != "") { if (!Validaciones.validaRut(companyCodeSii)) { mens.Codigo = ER0; mens.Mensaje = "DV RutEmisor no corresponde."; log_mensaje += " - " + mens.Mensaje; logs.putLog(1, log_mensaje); return(mens); } companyCodeSiiSinDV = companyCodeSii.Substring(0, posicion); } companyCodeSii = companyCodeSiiSinDV; } #endregion Valida DV RutEmisor int codi_empr = Convert.ToInt32(ConfigurationManager.AppSettings["codi_empr:" + company]); string codi_emex = ConfigurationManager.AppSettings["codi_emex:" + company]; if ((codi_empr != 1) || string.IsNullOrEmpty(codi_emex)) { ErrLugar = String.Format("Empresa [{0}] no autorizada a operar en WebService.", company); mens.Codigo = ER5; mens.Mensaje = ErrLugar; log_mensaje += " - " + mens.Mensaje + " Emisor : [" + companyCodeSii + "]" + " Tipo : [" + Convert.ToString(documentType) + "]" + " Folio : [" + Convert.ToString(documentNumber) + "]."; logs.putLog(1, log_mensaje); return(mens); } string integracion = ConfigurationManager.AppSettings["integracion"]; if (!conexion.estadoAprov(statusCode)) { #region Valida Estado de Aprob/Rechazo ErrLugar = "Valida Estado de Aprob/Rechazo"; mens.Codigo = ER4; mens.Mensaje = "Estado no es Válido"; log_mensaje += " - " + mens.Mensaje; logs.putLog(1, log_mensaje); return(mens); #endregion Valida Estado de Aprob/Rechazo } else { if (!conexion.validaExistencia(Convert.ToInt32(companyCodeSii), documentType, documentNumber)) { #region Documento no existe ErrLugar = "Documento no existe"; mens.Codigo = "ER5"; mens.Mensaje = "Documento no existe o posee estado que no permite ser aceptado comercialmente."; log_mensaje += " - " + mens.Mensaje + " Emisor : [" + companyCodeSii + "]" + " Tipo : [" + Convert.ToString(documentType) + "]" + " Folio : [" + Convert.ToString(documentNumber) + "]."; logs.putLog(1, log_mensaje); return(mens); #endregion Documento no existe } else { #region Documento Existe ErrLugar = "Aplica Rejection"; string pi_codi_erro = String.Empty; string pi_mens_erro = String.Empty; string pi_corr_qmsg = String.Empty; if (conexion.applyRejection(company, digitoCompany, companyCodeSii, digitoCompanyCodeSii, documentType, documentNumber, statusCode, out pi_codi_erro, out pi_mens_erro, out pi_corr_qmsg)) { conexion.confirma(); mens.CodigoSolicitud = pi_corr_qmsg; mens.Codigo = DOK; mens.Mensaje = pi_mens_erro; logs.putLog(1, "Se aplica Reclamo"); log_mensaje += " - company : [" + company + "-" + digitoCompany + "] companyCodeSii : [" + companyCodeSii + "-" + digitoCompanyCodeSii + "] documentType : [" + documentType + "] documentNumber : [" + documentNumber + "] statusCode : [" + statusCode + "] mens.CodigoSolicitud : [" + mens.CodigoSolicitud + "]" + " mens.Codigo : [" + mens.Codigo + "]" + " mens.Mensaje : [" + mens.Mensaje + "]"; logs.putLog(1, log_mensaje); // Valida si tiene integracion con SE if (integracion == "1") { logs.putLog(1, "Integracion con SE"); if (conexion.notificaReclamoASE(codi_empr, codi_emex, statusCode, companyCodeSii, documentType, documentNumber)) { logs.putLog(1, "Se actualiza SE con exito"); } else { logs.putLog(1, "Fallo al intentar actualizar SE"); } } return(mens); } else { ErrLugar = "Error al aplicar Reclamo"; mens.Codigo = "DON"; mens.Mensaje = "Error al aplicar Reclamo"; log_mensaje += " - " + mens.Mensaje + " - company : [" + company + "-" + digitoCompany + "] companyCodeSii : [" + companyCodeSii + "-" + digitoCompanyCodeSii + "] documentType : [" + documentType + "] documentNumber : [" + documentNumber + "] statusCode : [" + statusCode + "] mens.CodigoSolicitud : [" + mens.CodigoSolicitud + "]" + " mens.Codigo : [" + mens.Codigo + "]" + " mens.Mensaje : [" + mens.Mensaje + "]"; logs.putLog(1, log_mensaje); conexion.rechaza(); } #endregion Documento Existe } } } catch (Exception ex) { #region Manejo de Exception if (LogAplica == "S") { int largo; largo = Convert.ToString(ex.Message).Length; if (largo > 100) { largo = 100; } mens.Codigo = "ERR"; mens.Mensaje = "Se ha producido el error : " + Convert.ToString(ex.Message) + "."; log_mensaje = "Rut Empresa : " + company + ". Error en " + ErrLugar + " : " + Convert.ToString(ex.Message).Substring(1, largo) + ". " + ListaParametros; logs.putLog(1, log_mensaje); } else { mens.Codigo = "ERR"; mens.Mensaje = "Se ha producido el error : " + ErrLugar + Convert.ToString(ex.Message) + "."; } return(mens); #endregion Manejo de Exception } finally { if (conexion != null) { conexion.closeConexion(); } } return(mens); }