public static bool ActualizarAlEstadoOrigen(long idDocFiscalERP) { bool b; DBAxon db = new DBAxon(); db.OpenFactoryConnection(); db.SetLockModeToWait(); try { int update = 0; string queryUpdate = "UPDATE fehfe SET fehfestat=" + int.Parse(EstadoDocumentoFiscal.E100_PendienteDeEnvio.ToString()) + " WHERE fehfeiddf=" + idDocFiscalERP; update = db.ExecuteNonQuery(CommandType.Text, queryUpdate); b = update > 0; } catch (Exception ex) { //Log.Instancia.LogWS_Mensaje_FSX(file, "Excepción: RespuestaErrorActualizarDatosFacturaEstandar \r\n" + // ex.Message); b = false; } return(b); }
public static bool ActualizarFacturaSinDetalle(long idDocFiscalERP) { DBAxon db = new DBAxon(); bool bandera = false; DataTable dtFacturaPendienteEnvio = new DataTable(); int respuestaFacturaSinDetalle = 0; try { db.OpenFactoryConnection(); db.SetLockModeToWait(); string queryFacturaSinDetalle = "UPDATE fehfe SET fehfestat=" + (int)ESTADOS_FACTURACION_ELECTRONICA.FACTURA_SIN_DETALLE + " WHERE fehfemrcb=0 AND fehfeiddf=" + idDocFiscalERP; respuestaFacturaSinDetalle = db.ExecuteNonQuery(CommandType.Text, queryFacturaSinDetalle); } catch (Exception ex) { throw new Exception("Excepción: ActualizarFacturaSinDetalle(long idDocFiscalERP) " + ex.Message); } finally { db.CloseFactoryConnection(); db = null; } return(respuestaFacturaSinDetalle > 0); }
virtual public int GuardarRespuestaValidacion() { DBAxon db = new DBAxon(); int resp = 0; try { Conexion cnx = new Conexion(); cnx.CargarDatosConfiguracion((TipoConexion)Convert.ToInt32(ConfigurationManager.AppSettings["TipoConn"].ToString()), ConfigurationManager.AppSettings["BaseDatos"].ToString(), ConfigurationManager.AppSettings["DataSource"].ToString(), ConfigurationManager.AppSettings["UserId"].ToString(), ConfigurationManager.AppSettings["Password"].ToString(), ConfigurationManager.AppSettings["dbLocale"].ToString(), ConfigurationManager.AppSettings["clientLocale"].ToString()); db.OpenFactoryConnection(); db.SetLockModeToWait(); db.SetDateFormat(); DBAxon.Parameters[] prs = ParametrosSQL().ToArray(); resp = db.ExecuteNonQuery(CommandType.Text, update + IdDocFiscalFEEL, prs); } catch (Exception ex) { throw ex; } finally { db.CloseFactoryConnection(); db = null; } return(resp); }
/// <summary> /// ::Metodo que actualiza los datos de la solicitud que se hace al anular un documento fiscal, /// ::esta respuesta se actualiza en la tabla fehfe. /// </summary> /// <returns></returns> public static bool ActualizarRespuestaAnularDocumentoFiscal(string codRespuesta, string txtRespuesta, long idDocFiscalERP) { DBAxon db = new DBAxon(); string file = Log.Instancia.GeneraNombreLog() + idDocFiscalERP; DataTable dtActualizarRespuestaAnularDocFiscal = new DataTable(); int respuestaUpdate = 0; try { db.OpenFactoryConnection(); db.SetLockModeToWait(); string queryUpdate = "UPDATE fehfe SET fehfestat=" + (int)ESTADOS_FACTURACION_ELECTRONICA.ANULACION_PROCESADA + ", fehfecres='" + codRespuesta + "', fehfetres='" + txtRespuesta + "'" + " WHERE fehfemrcb=0 AND fehfeiddf=" + idDocFiscalERP; respuestaUpdate = db.ExecuteNonQuery(CommandType.Text, queryUpdate); } catch (Exception ex) { Log.Instancia.LogWS_Mensaje_FSX(file, "Excepción en: ActualizarRespuestaAnularDocumentoFiscal() al hacer un UPDATE fehfe" + ex.Message); } finally { db.CloseFactoryConnection(); db = null; } return(respuestaUpdate > 0); }
public static DataTable AnularDocumentoFiscal() { DBAxon db = new DBAxon(); string file = Log.Instancia.GeneraNombreLog(); DataTable dtAnularDocumentoFiscal = new DataTable(); int respuestaUpdate = 0; try { db.OpenFactoryConnection(); db.SetLockModeToWait(); string query = "SELECT * FROM fehfe " + "WHERE fehfestat=" + (int)ESTADOS_FACTURACION_ELECTRONICA.PENDIENTE_DE_ANULAR + " AND fehfemrcb=0"; dtAnularDocumentoFiscal = db.DataAdapter(CommandType.Text, query); if (dtAnularDocumentoFiscal.Rows.Count > 0) { foreach (DataRow dataRow in dtAnularDocumentoFiscal.Rows) { try { Int64 idDocFiscalERP = Int64.Parse(dataRow["fehfeiddf"].ToString()); file += idDocFiscalERP.ToString(); string queryUpdate = "UPDATE fehfe SET fehfestat=" + (int)ESTADOS_FACTURACION_ELECTRONICA.ENVIADO_AL_FEEL_PENDIENTE_DE_ANULAR + " WHERE fehfemrcb=0 AND fehfeiddf=" + idDocFiscalERP; respuestaUpdate = db.ExecuteNonQuery(CommandType.Text, queryUpdate); } catch (Exception ex) { Log.Instancia.LogWS_Mensaje_FSX(file, "Excepción en: AnularDocumentoFiscal() al hacer un UPDATE fehfe" + ex.Message); } } } else { return(new DataTable()); } return(dtAnularDocumentoFiscal); } catch (Exception ex) { throw new Exception("Excepción: AnularDocumentoFiscal() en el try catch mas grande." + ex.Message); } finally { db.CloseFactoryConnection(); db = null; } }
public static void ActualizarDatosFactura(ResponsePublicarNF responseNF, Int32 nuevoEstado, long idDocumentoFiscalERP) { DBAxon db = new DBAxon(); db.OpenFactoryConnection(); try { db.BeginTransaction(); db.SetLockModeToWait(); db.SetDateFormat(); if (responseNF != null) { #region RESPUESTA int responsequery = 0; string codRespuesta = responseNF.respuesta.codRespuesta; string txtRespuesta = responseNF.respuesta.txtRespuesta; #endregion DBAxon.Parameters[] prs = new DBAxon.Parameters[4] { new DBAxon.Parameters("nuevoEstado", nuevoEstado, ParameterDirection.Input, DbType.Int32), new DBAxon.Parameters("codRespuesta", codRespuesta, ParameterDirection.Input, DbType.String, 10), new DBAxon.Parameters("txtRespuesta", txtRespuesta, ParameterDirection.Input, DbType.String, 200), new DBAxon.Parameters("idDocumentoFiscalERP", idDocumentoFiscalERP, ParameterDirection.Input, DbType.Int32) }; string queryUpdate = "UPDATE fehfe SET fehfepnfe=?, fehfepnfc=? , fehfepnft=? " + "WHERE fehfeiddf=?"; responsequery = db.ExecuteNonQuery(CommandType.Text, queryUpdate, prs); if (responsequery > 0) { db.CommitTransaction(); } } } catch (Exception eEx) { db.RollbackTransaction(); throw new Exception(eEx.Message, eEx); } finally { db.CloseFactoryConnection(); db = null; } }
public static DataTable ObtenerCabeceraFacturaElectronicaPendienteEnvio() { DBAxon db = new DBAxon(); DataTable dtFacturaPendienteEnvio = new DataTable(); int respuestaUpdate = 0; try { db.OpenFactoryConnection(); db.SetLockModeToWait(); string query = "SELECT * FROM fehfe " + "WHERE fehfemrcb=0 AND fehfelote=0 AND fehfestat=" + (int)ESTADOS_FACTURACION_ELECTRONICA.PENDIENTES_DE_ENVIO; dtFacturaPendienteEnvio = db.DataAdapter(CommandType.Text, query); if (dtFacturaPendienteEnvio.Rows.Count > 0) { string queryUpdate = "UPDATE fehfe SET fehfestat=" + (int)ESTADOS_FACTURACION_ELECTRONICA.ENVIADA_AL_FEEL + " WHERE fehfemrcb=0 AND fehfelote=0 AND fehfestat=" + (int)ESTADOS_FACTURACION_ELECTRONICA.PENDIENTES_DE_ENVIO; respuestaUpdate = db.ExecuteNonQuery(CommandType.Text, queryUpdate); } else { return(new DataTable()); } return(dtFacturaPendienteEnvio); } catch (Exception ex) { throw new Exception("Excepción: ObtenerCabezeraFacturaElectronica() en el try catch mas grande." + ex.Message); } finally { db.CloseFactoryConnection(); db = null; } }
/// <summary> /// ::Método que actualiza la cabecera de la factura con error, dado que el servicio del FEEL respondio con un error, /// ya sea por validación, etc. /// ::Datos que se actualizan: codRespuesta, txtRespuesta y codEstado /// </summary> /// <param name="respuestaFacturaEstandar">Objeto respuesta</param> /// <returns>bool</returns> public bool RespuestaErrorActualizarDatosFacturaEstandar(string codRespuesta, string textoRespuesta, long idDocFiscalERP) { bool b; //string file = Log.Instancia.GeneraNombreLog(); //file += respuestaFacturaEstandar.proceso.idDocFiscalERP; try { DBAxon db = new DBAxon(); db.OpenFactoryConnection(); int update = 0; if (!string.IsNullOrEmpty(codRespuesta)) { string queryUpdate = "UPDATE fehfe SET fehfecres='" + codRespuesta + "', fehfetres='" + textoRespuesta + "', " + "fehfestat=" + int.Parse(EstadoDocumentoFiscal.E103_RespuestaEnviarConError.ToString()) + " WHERE fehfeiddf=" + idDocFiscalERP; update = db.ExecuteNonQuery(CommandType.Text, queryUpdate); b = update > 0; } else { b = false; } } catch (Exception ex) { //Log.Instancia.LogWS_Mensaje_FSX(file, "Excepción: RespuestaErrorActualizarDatosFacturaEstandar \r\n" + // ex.Message); b = false; } return(b); }
void CambiarEstadoConsultaFactura(int idFactura, int estado) { DBAxon db = new DBAxon(); try { db.OpenFactoryConnection(); db.SetLockModeToWait(); string update = "UPDATE fehfe SET fehfeecdf = " + estado + " WHERE fehfeiddf = ?"; db.ExecuteNonQuery(CommandType.Text, update, new DBAxon.Parameters[] { new DBAxon.Parameters("iddf", idFactura, ParameterDirection.Input, DbType.Int32) }); } catch (Exception ex) { throw new Exception("Excepción: MarcarComoConsultaEnviada()|" + ex.Message); } finally { db.CloseFactoryConnection(); db = null; } }
public bool ActualizarDatosFactura(ResponseFactura respuestaFacturaEstandar) { DBAxon db = new DBAxon(); #if DEBUG System.Diagnostics.Stopwatch cronoDB = new System.Diagnostics.Stopwatch(); cronoDB.Start(); #endif db.OpenFactoryConnection(); int updateCabecera = 0; int updateItem = 0; try { db.BeginTransaction(); db.SetLockModeToWait(); db.SetDateFormat(); if (respuestaFacturaEstandar != null && respuestaFacturaEstandar.Proceso != null && respuestaFacturaEstandar.Factura != null) { #region RESPUESTA string codRespuesta = respuestaFacturaEstandar.Respuesta.CodRespuesta; string txtRespuesta = respuestaFacturaEstandar.Respuesta.TxtRespuesta; #endregion #region PROCESO string idDocFiscalERP = respuestaFacturaEstandar.Proceso.IdDocFiscalERP; string idDocFiscalFEEL = respuestaFacturaEstandar.Proceso.IdDocFiscalFEEL; string cufd = respuestaFacturaEstandar.Proceso.CUFD; string codEstado = respuestaFacturaEstandar.Proceso.CodEstado; int codigoTipoFactura = respuestaFacturaEstandar.Proceso.CodigoTipoFactura; #endregion #region FACTURA ESTANDAR //CABECERA string fechaEmision = respuestaFacturaEstandar.Factura.Cabecera.FechaEmision; string codigoTipoDocumentoIdentidad = respuestaFacturaEstandar.Factura.Cabecera.CodigoTipoDocumentoIdentidad; string cuf = respuestaFacturaEstandar.Factura.Cabecera.CUF; int codigoSucursal = respuestaFacturaEstandar.Factura.Cabecera.CodigoSucursal; int codigoPuntoVenta = respuestaFacturaEstandar.Factura.Cabecera.CodigoPuntoVenta; int codigoDocumentoSector = respuestaFacturaEstandar.Factura.Cabecera.CodigoDocumentoSector; int codigoMetodoPago = respuestaFacturaEstandar.Factura.Cabecera.CodigoMetodoPago; string leyenda = respuestaFacturaEstandar.Factura.Cabecera.Leyenda; int codigoMoneda = respuestaFacturaEstandar.Factura.Cabecera.CodigoMoneda; DBAxon.Parameters[] prs = new DBAxon.Parameters[16] { new DBAxon.Parameters("codRespuesta", codRespuesta, ParameterDirection.Input, DbType.String, 10), new DBAxon.Parameters("txtRespuesta", txtRespuesta, ParameterDirection.Input, DbType.String, 200), new DBAxon.Parameters("idDocFiscalFEEL", idDocFiscalFEEL, ParameterDirection.Input, DbType.String, 20), new DBAxon.Parameters("cufd", cufd, ParameterDirection.Input, DbType.String, 100), new DBAxon.Parameters("codEstado", codEstado, ParameterDirection.Input, DbType.String, 10), new DBAxon.Parameters("codigoTipoFactura", codigoTipoFactura, ParameterDirection.Input, DbType.Int32), new DBAxon.Parameters("fechaEmision", fechaEmision, ParameterDirection.Input, DbType.String, 20), new DBAxon.Parameters("codigoTipoDocumentoIdentidad", codigoTipoDocumentoIdentidad, ParameterDirection.Input, DbType.Int32), new DBAxon.Parameters("cuf", cuf, ParameterDirection.Input, DbType.String, 50), new DBAxon.Parameters("codigoSucursal", codigoSucursal, ParameterDirection.Input, DbType.Int32), new DBAxon.Parameters("codigoPuntoVenta", codigoPuntoVenta, ParameterDirection.Input, DbType.Int32), new DBAxon.Parameters("codigoDocumentoSector", codigoDocumentoSector, ParameterDirection.Input, DbType.Int32), new DBAxon.Parameters("codigoMetodoPago", codigoMetodoPago, ParameterDirection.Input, DbType.Int16), new DBAxon.Parameters("leyenda", leyenda, ParameterDirection.Input, DbType.String, 200), new DBAxon.Parameters("codigoMoneda", codigoMoneda, ParameterDirection.Input, DbType.Int32), new DBAxon.Parameters("idDocFiscalERP", idDocFiscalERP, ParameterDirection.Input, DbType.Int32) }; string queryUpdate = "UPDATE fehfe SET fehfecres=?, fehfetres=? , fehfeifee=?, fehfecufd=?, " + "fehfecsta=?, fehfectip=?, fehfefemi=?, fehfectdi=?, fehfeccuf=?, fehfecsuc=?, " + "fehfecpve=?, fehfecdse=?, fehfecmpa=?, fehfeleye=?, fehfecmon=? , fehfestat=" + int.Parse(EstadoDocumentoFiscal.E102_ProcesadaCorrectamente.ToString()) + " WHERE fehfeiddf=?"; updateCabecera = db.ExecuteNonQuery(CommandType.Text, queryUpdate, prs); #endregion if (updateCabecera > 0) { #region DETALLE dynamic factura = Convert.ChangeType(respuestaFacturaEstandar.Factura, respuestaFacturaEstandar.Factura.GetType()); if (factura.Tipo != TipoFactura.notaExportacion) { foreach (var item in factura.ListaDetalle) { int?actividadEconomica = item.ActividadEconomica ?? null; int?codigoProductoSin = item.CodigoProductoSIN ?? null; DBAxon.Parameters[] prs2 = new DBAxon.Parameters[2] { new DBAxon.Parameters("actividadEconomica", actividadEconomica, ParameterDirection.Input, DbType.Int32), new DBAxon.Parameters("codigoProductoSin", codigoProductoSin, ParameterDirection.Input, DbType.Int32) }; updateItem = db.ExecuteNonQuery(CommandType.Text, "UPDATE fedfe SET fedfeaeco=?, fedfecpsi=? " + "WHERE fedfeiddf =" + idDocFiscalERP, prs2); } } else { foreach (var item in factura.ListaDetalle) { int?actividadEconomica = item.ActividadEconomica ?? null; int?codigoProductoSin = item.CodigoProductoSIN ?? null; DBAxon.Parameters[] prs2 = new DBAxon.Parameters[3] { new DBAxon.Parameters("actividadEconomica", actividadEconomica, ParameterDirection.Input, DbType.Int32), new DBAxon.Parameters("codigoProductoSin", codigoProductoSin, ParameterDirection.Input, DbType.Int32), new DBAxon.Parameters("codigoNandina", item.CodigoNandina, ParameterDirection.Input, DbType.Int32) }; updateItem = db.ExecuteNonQuery(CommandType.Text, "UPDATE fedfe SET fedfeaeco=?, fedfecpsi=?, fedfecnan=? " + "WHERE fedfeiddf =" + idDocFiscalERP, prs2); } } db.CommitTransaction(); #endregion #if DEBUG cronoDB.Stop(); Cronometro.Instancia.TotalMs += cronoDB.ElapsedMilliseconds; #endif } } else { //string file = Log.Instancia.GeneraNombreLog(); //file += respuestaFacturaEstandar.Proceso.IdDocFiscalERP; //Log.Instancia.LogWS_Mensaje_FSX(file, "Esta nulo o respuestaFacturaEstandar ó respuestaFacturaEstandar.Proceso ó respuestaFacturaEstandar.Factura"); } return((updateCabecera + updateItem) >= 2); } catch (Exception eEx) { db.RollbackTransaction(); throw new Exception(eEx.Message, eEx); } finally { db.CloseFactoryConnection(); db = null; } }
private void GuardarResponseFactura(ResponseFactura response) { StringBuilder sql = new StringBuilder("UPDATE fehfe SET "); List <DBAxon.Parameters> parametros = new List <DBAxon.Parameters>(); //Respuesta sql.Append("fehfecres=?, fehfetres=?, "); parametros.Add(new DBAxon.Parameters("cres", response.Respuesta.CodRespuesta, ParameterDirection.Input, DbType.String, 10)); parametros.Add(new DBAxon.Parameters("tres", response.Respuesta.TxtRespuesta, ParameterDirection.Input, DbType.String, 200)); //Proceso sql.Append("fehfeifee = ?, fehfecufd = ?, fehfecsta = ?, fehfectip = ?, "); parametros.Add(new DBAxon.Parameters("ifee", response.Proceso.IdDocFiscalFEEL, ParameterDirection.Input, DbType.String, 20)); parametros.Add(new DBAxon.Parameters("cufd", response.Proceso.CUFD, ParameterDirection.Input, DbType.String, 100)); parametros.Add(new DBAxon.Parameters("csta", response.Proceso.CodEstado, ParameterDirection.Input, DbType.String, 10)); parametros.Add(new DBAxon.Parameters("ctip", response.Proceso.CodigoTipoFactura, ParameterDirection.Input, DbType.Int32)); //Factura - Cabecera sql.Append("fehfefemi=?, fehfectdi=?, fehfeccuf=?, fehfecsuc=?, fehfecpve=?, fehfecdse=?, fehfecmpa=?, fehfeleye=?, fehfecmon=? , fehfestat=" + EstadoDocumentoFiscal.E102_ProcesadaCorrectamente.ToString() + " "); parametros.Add(new DBAxon.Parameters("femi", response.Factura.Cabecera.FechaEmision, ParameterDirection.Input, DbType.String, 20)); parametros.Add(new DBAxon.Parameters("ctdi", response.Factura.Cabecera.CodigoTipoDocumentoIdentidad, ParameterDirection.Input, DbType.Int32)); parametros.Add(new DBAxon.Parameters("ccuf", response.Factura.Cabecera.CUF, ParameterDirection.Input, DbType.String, 50)); parametros.Add(new DBAxon.Parameters("csuc", response.Factura.Cabecera.CodigoSucursal, ParameterDirection.Input, DbType.Int32)); parametros.Add(new DBAxon.Parameters("cpve", response.Factura.Cabecera.CodigoPuntoVenta, ParameterDirection.Input, DbType.Int32)); parametros.Add(new DBAxon.Parameters("cdse", response.Factura.Cabecera.CodigoDocumentoSector, ParameterDirection.Input, DbType.Int32)); parametros.Add(new DBAxon.Parameters("cmpa", response.Factura.Cabecera.CodigoMetodoPago, ParameterDirection.Input, DbType.Int16)); parametros.Add(new DBAxon.Parameters("leye", response.Factura.Cabecera.Leyenda, ParameterDirection.Input, DbType.String, 200)); parametros.Add(new DBAxon.Parameters("cmon", response.Factura.Cabecera.CodigoMoneda, ParameterDirection.Input, DbType.Int32)); sql.Append(" WHERE fehfeiddf= ?;"); parametros.Add(new DBAxon.Parameters("iddf", response.Proceso.IdDocFiscalERP, ParameterDirection.Input, DbType.Int32)); //Factura - ListaDetalle dynamic factura = Convert.ChangeType(response.Factura, response.Factura.GetType()); //sql.Append("UPDATE fedfe SET "); if (factura.Tipo != TipoFactura.notaExportacion) { foreach (var detalle in factura.ListaDetalle) { sql.Append("UPDATE fedfe SET fedfeaeco=?, fedfecpsi=? WHERE fedfeiddf = ?;"); parametros.Add(new DBAxon.Parameters("aeco", detalle.ActividadEconomica, ParameterDirection.Input, DbType.Int32)); parametros.Add(new DBAxon.Parameters("cpsi", detalle.CodigoProductoSIN, ParameterDirection.Input, DbType.Int32)); parametros.Add(new DBAxon.Parameters("iddf", response.Proceso.IdDocFiscalERP, ParameterDirection.Input, DbType.Int32)); } } else { foreach (var detalle in factura.ListaDetalle) { sql.Append("UPDATE fedfe SET fedfeaeco=?, fedfecpsi=?, fedfecnan=? WHERE fedfeiddf = ?;"); parametros.Add(new DBAxon.Parameters("aeco", detalle.ActividadEconomica, ParameterDirection.Input, DbType.Int32)); parametros.Add(new DBAxon.Parameters("cpsi", detalle.CodigoProductoSIN, ParameterDirection.Input, DbType.Int32)); parametros.Add(new DBAxon.Parameters("cnan", detalle.CodigoNandina, ParameterDirection.Input, DbType.Int32)); parametros.Add(new DBAxon.Parameters("iddf", response.Proceso.IdDocFiscalERP, ParameterDirection.Input, DbType.Int32)); } } //BD DBAxon db = new DBAxon(); try { db.OpenFactoryConnection(); db.BeginTransaction(); db.SetLockModeToWait(); db.PrepareCommand(true, CommandType.Text, sql.ToString(), parametros.ToArray()); db.command.ExecuteNonQuery(); db.CommitTransaction(); } catch (Exception ex) { db.RollbackTransaction(); db.ExecuteNonQuery(CommandType.Text, "UPDATE fehfe SET fehfestat=" + int.Parse(EstadoDocumentoFiscal.E100_PendienteDeEnvio.ToString()) + " WHERE fehfeiddf=" + response.Proceso.IdDocFiscalERP); throw new Exception("Excepcion: GuardarResponseFactura() - " + ex.Message); } finally { db.CloseFactoryConnection(); db = null; } }