public RespuestaGeneral PFACO0001(string fechaInicial, string fechaFinal, string tipoDocumento) { RespuestaGeneral respuesta = new RespuestaGeneral(); String loteFacturas = string.Empty; DateTime fechaInicioLote = new DateTime(); DateTime fechaFinLote = new DateTime(); try { if (String.IsNullOrEmpty(fechaInicial) || String.IsNullOrEmpty(fechaFinal)) //valida que las fechas no vengan vacias { respuesta.Mensaje = (String.IsNullOrEmpty(fechaInicial)) ? "Debe ingresar la fecha inicial" : "Debe ingresar la fecha final"; } else if (!String.IsNullOrEmpty(fechaInicial) && !String.IsNullOrEmpty(fechaFinal) && String.IsNullOrEmpty(tipoDocumento)) { respuesta.Mensaje = "Debe ingresar el tipo de documento [1=Factura][2=Nota de Crédito]"; } else if (!String.IsNullOrEmpty(fechaInicial) && !String.IsNullOrEmpty(fechaFinal) && !String.IsNullOrEmpty(tipoDocumento)) { if (tipoDocumento.Equals("1") || tipoDocumento.Equals("2")) //verifica que solo se ingrese tipo de documento factura o nota de credito respectivamente { fechaInicioLote = DateTime.Parse(fechaInicial); fechaFinLote = DateTime.Parse(fechaFinal); if (SqlMethods.DateDiffDay(fechaInicioLote, fechaFinLote) < 0) //verifica que la fecha inicial no sea mayor a la fecha final { respuesta.Mensaje = "La fecha final no debe de ser mayor a la fecha de inicio"; } else { //se procede a procesar la petición } } else { respuesta.Mensaje = "El dato ingresado como tipo de documento no se reconoce como un documento valido."; } } } catch (Exception ex) { respuesta.Mensaje = String.Format("Detalle: {0}", ex.Message); } return respuesta; }
public RespuestaGeneral CargaDocumentoLote_IFACERE_LOCAL(String pDatos) { RespuestaGeneral respuesta = new RespuestaGeneral(); try { iflocal.SSO_wsEFactura ifacere = new iflocal.SSO_wsEFactura(); ifacere.Timeout = 42300000; iflocal.clsResponseLote retorno = ifacere.RegistraLoteDocumentosXML(pDatos); respuesta.Resultado = retorno.pResultado; respuesta.Mensaje = retorno.pDescripcion; respuesta.Respuesta = null;//retorno.pResultadoDocumentos; } catch (Exception err) { respuesta.Resultado = false; respuesta.Mensaje = "Error en la Carga del Lote - IFACERE Local x001 "+ err.Message; respuesta.Respuesta = null; } return respuesta; }
public RespuestaGeneral RegistraDocumento(String pCompania,String pNoDocumento, String pEstadoDocumento, String pInventario, String pTipoDocumento, String pUsuario, String pFechaDocumento) { RespuestaGeneral respuesta = new RespuestaGeneral(); DateTime inicioOperacion = DateTime.Now; DateTime finOperacion; String tDoc = ""; try { if (pTipoDocumento.Equals("FIN") || pTipoDocumento.Equals("FOF") || pTipoDocumento.Equals("FVH") || pTipoDocumento.Equals("FVU") || pTipoDocumento.Equals("SER"))//Todas las Facturas { tDoc = "1"; } else if (pTipoDocumento.Equals("NIN") || pTipoDocumento.Equals("NOF") || pTipoDocumento.Equals("NVH") || pTipoDocumento.Equals("NVU") || pTipoDocumento.Equals("NSE"))//Todas las Notas de Credito { tDoc = "2"; } //AccesoDatos acd = new AccesoDatos(); //string qry = String.Format(Query.EstadoDocumento, tDoc,pCompania,pNoDocumento); //DataTable estadoDoc = acd.RealizaConsulta(qry); //if (estadoDoc.Rows.Count > 0) //{ // pEstadoDocumento = estadoDoc.Rows[0]["estado"].ToString(); //} string xmlDoc = ""; inicioOperacion = DateTime.Now; if (pTipoDocumento.Equals("FIN")) { GeneraXML xml = new GeneraXML(PFACW0001.ENUMS.TDocumento.Factura, pCompania, pEstadoDocumento, pInventario, pNoDocumento, PFACW0001.ENUMS.TFactura.Repuesto, ""); xmlDoc = xml.getXmlDocumentoElectronico(); } if (pTipoDocumento.Equals("NIN")) { GeneraXML xml = new GeneraXML(PFACW0001.ENUMS.TDocumento.NotaCredito, pCompania, pEstadoDocumento, pInventario, pNoDocumento, PFACW0001.ENUMS.TFactura.Repuesto, ""); xmlDoc = xml.getXmlDocumentoElectronico(); } if (pTipoDocumento.Equals("SER")) { GeneraXML xml = new GeneraXML(PFACW0001.ENUMS.TDocumento.Factura, pCompania, pEstadoDocumento, pInventario, pNoDocumento, PFACW0001.ENUMS.TFactura.Taller, ""); xmlDoc = xml.getXmlDocumentoElectronico(); } if (pTipoDocumento.Equals("NSE")) { GeneraXML xml = new GeneraXML(PFACW0001.ENUMS.TDocumento.NotaCredito, pCompania, pEstadoDocumento, pInventario, pNoDocumento, PFACW0001.ENUMS.TFactura.Taller, ""); xmlDoc = xml.getXmlDocumentoElectronico(); } if (pTipoDocumento.Equals("FVH")) { GeneraXML xml = new GeneraXML(PFACW0001.ENUMS.TDocumento.Factura, pCompania, pEstadoDocumento, pInventario, pNoDocumento, PFACW0001.ENUMS.TFactura.VehiculoNuevo,"",pFechaDocumento); xmlDoc = xml.getXmlDocumentoElectronico(); } if (pTipoDocumento.Equals("FVU")) { GeneraXML xml = new GeneraXML(PFACW0001.ENUMS.TDocumento.Factura, pCompania, pEstadoDocumento, pInventario, pNoDocumento, PFACW0001.ENUMS.TFactura.VehiculoUsado, "",pFechaDocumento); xmlDoc = xml.getXmlDocumentoElectronico(); } if (pTipoDocumento.Equals("NVH") || pTipoDocumento.Equals("NVU")) { GeneraXML xml = new GeneraXML(PFACW0001.ENUMS.TDocumento.NotaCredito, pCompania, pEstadoDocumento, pInventario, pNoDocumento, PFACW0001.ENUMS.TFactura.Oficina, "NCR"); xmlDoc = xml.getXmlDocumentoElectronico(); } if (pTipoDocumento.Equals("FOF")) { GeneraXML xml = new GeneraXML(PFACW0001.ENUMS.TDocumento.Factura, pCompania, pEstadoDocumento, pInventario, pNoDocumento, PFACW0001.ENUMS.TFactura.Oficina, "FAC"); xmlDoc = xml.getXmlDocumentoElectronico(); } if (pTipoDocumento.Equals("NOF")) { GeneraXML xml = new GeneraXML(PFACW0001.ENUMS.TDocumento.NotaCredito, pCompania, pEstadoDocumento, pInventario, pNoDocumento, PFACW0001.ENUMS.TFactura.Oficina, "NCR"); xmlDoc = xml.getXmlDocumentoElectronico(); } if (String.IsNullOrEmpty(xmlDoc)) { respuesta.Resultado = false; respuesta.Respuesta = "S/D"; respuesta.Mensaje = "Error al Armar XML del Documento"; } else { RespuestaGeneral temp = new RespuestaGeneral(); temp = CargaDocumento_IFACERE_LOCAL(xmlDoc, pTipoDocumento); respuesta.Resultado = temp.Resultado; respuesta.Respuesta = temp.Respuesta; respuesta.Mensaje = temp.Mensaje; if (respuesta.Resultado) { string hora = DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second; AlmacenaEnvioDocumentos(false, pCompania, pTipoDocumento, "", "", hora, pUsuario, "0", pNoDocumento); } finOperacion = DateTime.Now; respuesta.Mensaje = respuesta.Mensaje + Environment.NewLine + String.Format("Duración: {0}", (finOperacion - inicioOperacion).ToString().Substring(0,8)); } } catch (Exception err) { finOperacion = DateTime.Now; respuesta.Resultado = false; respuesta.Respuesta = null; respuesta.Mensaje = err.Message + Environment.NewLine + String.Format("Duración: {0}", (finOperacion - inicioOperacion).ToString().Substring(0, 8)); } return respuesta; }
private RespuestaGeneral CargaDocumento_IFACERE_LOCAL(String pDatos, String pTipoDoc) { RespuestaGeneral respuesta = new RespuestaGeneral(); try { iflocal.SSO_wsEFactura ifacere = new iflocal.SSO_wsEFactura(); if (pTipoDoc.Equals("FIN") || pTipoDoc.Equals("SER") || pTipoDoc.Equals("FOF")||pTipoDoc.Equals("FVH")||pTipoDoc.Equals("FVU")) { iflocal.clsResponseGeneral retorno = ifacere.RegistraFacturaXML(pDatos); respuesta.Resultado = retorno.pResultado; respuesta.Mensaje = retorno.pDescripcion; respuesta.Respuesta = retorno.pRespuesta; } if (pTipoDoc.Equals("NIN") || pTipoDoc.Equals("NSE") || pTipoDoc.Equals("NVH") || pTipoDoc.Equals("NVU") || pTipoDoc.Equals("NOF")) { iflocal.clsResponseGeneral retorno = ifacere.RegistraNotaCreditoXML(pDatos); respuesta.Resultado = retorno.pResultado; respuesta.Mensaje = retorno.pDescripcion; respuesta.Respuesta = retorno.pRespuesta; } } catch (Exception err) { respuesta.Resultado = false; respuesta.Mensaje = "Error en la Carga del Documento - IFACERE Local x002 " + err.Message; respuesta.Respuesta = null; } return respuesta; }
public RespuestaGeneral RegistraLoteDocumentos(String tipoDocumento, String Compania, String tipoInventario, String fecha_inicio, String fecha_fin, String usuario) { RespuestaGeneral respuesta = new RespuestaGeneral(); DateTime inicioOperacion = DateTime.Now; DateTime finOperacion; string xmlLote = ""; try { inicioOperacion = DateTime.Now; string LoteNumero = ObtieneUltimoLote(Compania, tipoDocumento); xmlLote = ArmaLoteDocumentos(tipoDocumento, Compania, tipoInventario, fecha_inicio, fecha_fin, usuario, LoteNumero); if (String.IsNullOrEmpty(xmlLote)) { respuesta.Resultado = false; respuesta.Respuesta = "N/D"; respuesta.Mensaje = "Error al Armar XML del Lote"; } else { RespuestaGeneral temp = new RespuestaGeneral(); temp = CargaDocumentoLote_IFACERE_LOCAL(xmlLote); respuesta = temp; if (respuesta.Resultado) { string hora = DateTime.Now.Hour.ToString().PadLeft(2, '0') + ":" + DateTime.Now.Minute.ToString().PadLeft(2, '0') + ":" + DateTime.Now.Second.ToString().PadLeft(2, '0'); AlmacenaEnvioDocumentos(true, Compania, tipoDocumento, fecha_inicio, fecha_fin, hora, usuario, LoteNumero,""); } finOperacion = DateTime.Now; respuesta.Mensaje = respuesta.Mensaje + Environment.NewLine + String.Format("Duración: {0}", (finOperacion - inicioOperacion).ToString().Substring(0,8)); } } catch(Exception err) { finOperacion = DateTime.Now; respuesta.Resultado = false; respuesta.Respuesta = xmlLote; respuesta.Mensaje = err.Message + Environment.NewLine + String.Format("Duración: {0}", (finOperacion - inicioOperacion).ToString().Substring(0, 8)); } return respuesta; }