private static bool existeClave(string pClave) { try { bool existe = false; using (var conexion = new DataModelFE()) { // se declara el objeto a insertar ResumenFacturaReceptor dato = new ResumenFacturaReceptor(); //llena el objeto con los valores de la pantalla dato.clave = pClave; //busca el objeto dato = conexion.ResumenFacturaReceptor.Find(dato.clave); if (dato != null) { existe = true; } } return(existe); } catch (Exception ex) { throw new Exception(Utilidades.validarExepcionSQL(ex), ex.InnerException); } }
public void guardarDocumentoReceptor() { using (var conexion = new DataModelFE()) { //Se guardan los datos en la tabla de ws_resumen_xml_receptor string xmlr = Session["xmlFileValidar"].ToString(); DocumentoElectronico documento = (DocumentoElectronico)EncodeXML.XMLUtils.getObjetcFromXML(xmlr); ResumenFacturaReceptor datos = conexion.ResumenFacturaReceptor.Find(documento.clave); if (datos == null) { datos = new ResumenFacturaReceptor(); datos.clave = documento.clave; datos.tipoCambio = documento.resumenFactura.tipoCambio; datos.codigoMoneda = documento.resumenFactura.codigoMoneda; datos.totalServGravados = documento.resumenFactura.totalServGravados; datos.totalServExentos = documento.resumenFactura.totalServExentos; datos.totalMercanciasGravadas = documento.resumenFactura.totalMercanciasGravadas; datos.totalMercanciasExentas = documento.resumenFactura.totalMercanciasExentas; datos.totalGravado = documento.resumenFactura.totalGravado; datos.totalExento = documento.resumenFactura.totalExento; datos.totalVenta = documento.resumenFactura.totalVenta; datos.totalDescuentos = documento.resumenFactura.totalDescuentos; datos.totalVentaNeta = documento.resumenFactura.totalVentaNeta; datos.totalImpuesto = documento.resumenFactura.totalImpuesto; datos.totalComprobante = documento.resumenFactura.totalComprobante; conexion.ResumenFacturaReceptor.Add(datos); //Guardar la información en ws_recepcion_documento_receptor WSRecepcionPOSTReceptor datosReceptor = new WSRecepcionPOSTReceptor(); datosReceptor.clave = datos.clave; //Emisor string emisorIdentificacion = XMLUtils.buscarValorEtiquetaXML("Emisor", "Identificacion", xmlr); datosReceptor.emisorIdentificacion = emisorIdentificacion.Substring(2); datosReceptor.emisorTipo = emisorIdentificacion.Substring(0, 2); //Receptor string receptorIdentificacion = XMLUtils.buscarValorEtiquetaXML("Receptor", "Identificacion", xmlr); if (!string.IsNullOrWhiteSpace(receptorIdentificacion)) { datosReceptor.receptorIdentificacion = receptorIdentificacion.Substring(2); datosReceptor.receptorTipo = receptorIdentificacion.Substring(0, 2); } else { datosReceptor.receptorTipo = "99"; datosReceptor.receptorIdentificacion = XMLUtils.buscarValorEtiquetaXML("Receptor", "IdentificacionExtranjero", xmlr); } //Comprobante XML datosReceptor.comprobanteXml = EncodeXML.XMLUtils.base64Encode(xmlr); //AuditorÃa datosReceptor.usuarioCreacion = Session["usuario"].ToString(); datosReceptor.fechaCreacion = Date.DateTimeNow(); //Valores de la tabla datosReceptor.montoTotalFactura = decimal.Parse(this.txtTotalFactura.Text); datosReceptor.montoTotalImpuesto = decimal.Parse(this.txtMontoTotalImpuesto.Text); datosReceptor.tipoDocumento = datos.clave.Substring(29, 2); //Verificar si este dato es el correcto datosReceptor.mensaje = this.txtDetalleMensaje.Text; datosReceptor.fecha = DateTime.ParseExact(documento.fechaEmision.Replace("-06:00", ""), "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture); //Datos Hacienda using (var conexionWS = new DataModelFE()) { WSRecepcionPOST datoHacienda = conexionWS.WSRecepcionPOST.Find(datosReceptor.clave); if (datoHacienda != null) { datosReceptor.indEstado = datoHacienda.indEstado; datosReceptor.mensaje = datoHacienda.mensaje; } else { datosReceptor.indEstado = 1; } } conexion.WSRecepcionPOSTReceptor.Add(datosReceptor); conexion.SaveChanges(); } } }