public DatosCOVE InsertaCOVE(DatosCOVE datosCOVE) { //Insertar en la tabla COVE, datosCOVE = InsertaTablaCOVEBd(datosCOVE); //Luego en FacturaCOVE un foreac //Después en la tabla DetalleFacturaCOVE //Al final en la tabla DEDetalleFacturaCOVE return(datosCOVE); }
private ConsultaEdocument GenerarLlamado(DatosCOVE datosCOVE, ConsultaEdocumentPor consultarPor) { var vucem = Util.ServicioVUCEM(); //var io = FactoryEngine<IOperacionEmpresaDominio>.GetInstance("IOperacionEmpresaDominioConfig"); var entidad = GenerarLlamadoEspecifico(datosCOVE, consultarPor); return(entidad); //var response = vucem.ConsultaEdocumentVucem(new ConsultaEdocumentVUCEMRequest()); }
private DatosCOVE DameIdXNOCOVEBd(DatosCOVE datosCOVE) { List <SqlParameterItem> parametros = new List <SqlParameterItem>(); parametros.Add(new SqlParameterItem("@pNoCOVE", SqlDbType.VarChar, 15, datosCOVE.Request.Edocument)); parametros.Add(new SqlParameterItem("@pID", SqlDbType.Int, 0, ParameterDirection.Output)); var vHelper = InicializaConexion(datosCOVE.IdEmpresa); var rCove = vHelper.ExecuteNonQuery("usp_COVE_DameIDxNoCOVE", parametros); datosCOVE.Request.ResponseEdocument = new ConsultaEdocumentResponse(); datosCOVE.Request.ResponseEdocument.Cove = new COVE(); datosCOVE.Request.ResponseEdocument.Cove.IdCOVE = Convert.ToInt16(vHelper.GetParameterOutput("@pID")); return(datosCOVE); }
private ConsultaEdocumentVucemResponse1 LlamarAServicioVUCEM(DatosCOVE datosCOVE, ConsultaEdocumentPor consultarPor) { //pedir a base de datos path y archivo de cer, //luego path y archivo de key //tambien datos de key y cer. var request = new ConsultaEdocumentVucemRequest1() { request = new ConsultaEdocumentVUCEMRequest() { Entidad = GenerarLlamado(datosCOVE, consultarPor) } }; var vucem = Util.ServicioVUCEM(); var response = vucem.ConsultaEdocumentVucem(request); return(response); }
public DatosCOVE GetDataCOVE(DatosCOVE datosCOVE) { //using (var transaction = new TransactionScope(TransactionScopeOption.Required)) //{ var coveExiste = iOperacionEdocumentCoveRepositorio.DameIdXNOCOVE(datosCOVE); if (coveExiste.Request.ResponseEdocument.Cove.IdCOVE == 0) { //llamar a servicio VUCEM con CERKEY de Empresa var response = LlamarAServicioVUCEM(datosCOVE, ConsultaEdocumentPor.Empresa); if (response.ConsultaEdocumentVucemResult.Entidad != null) { datosCOVE.Request = response.ConsultaEdocumentVucemResult.Entidad; datosCOVE.Request.ResponseEdocument.Cove.XML = SubirArchivoXMLaFTP(datosCOVE.IdEmpresa, datosCOVE.IdPatente, Util.GetXmlBytes(coveExiste.Request.ResponseEdocument), datosCOVE.Request.Edocument); } else { var response2 = LlamarAServicioVUCEM(datosCOVE, ConsultaEdocumentPor.Patente); if (response2.ConsultaEdocumentVucemResult.Entidad != null) { datosCOVE.Request = response2.ConsultaEdocumentVucemResult.Entidad; datosCOVE.Request.ResponseEdocument.Cove.XML = SubirArchivoXMLaFTP(datosCOVE.IdEmpresa, datosCOVE.IdPatente, Util.GetXmlBytes(coveExiste.Request.ResponseEdocument), datosCOVE.Request.Edocument); } else { throw new NoSePudoExtraerElCove(); } } datosCOVE = iOperacionEdocumentCoveRepositorio.InsertaCOVE(datosCOVE); if (datosCOVE.Request.ResponseEdocument.Cove.IdCOVE != 0) { iOperacionEdocumentCoveRepositorio.CierraCove(datosCOVE.IdEmpresa, datosCOVE.IdBitacoraCOVE, datosCOVE.Request.ResponseEdocument.Cove.IdCOVE); } else { throw new NoSeInsertoCoveEnBaseDeDatos(); } //trae respuesta vacía throw } // transaction.Complete(); //} return(datosCOVE); }
private DatosCOVE InsertaTablaCOVEBd(DatosCOVE datosCOVE) { List <SqlParameterItem> parametros = new List <SqlParameterItem>(); parametros.Add(new SqlParameterItem("@pIdAduanaVW", SqlDbType.Int, 0)); //parametros.Add(new SqlParameterItem("@pTimeStamp", SqlDbType.DateTime, DateTime.Now));// parametros.Add(new SqlParameterItem("@pIdPaisCompradorVendedor", SqlDbType.Int, 0)); parametros.Add(new SqlParameterItem("@pEDocument", SqlDbType.VarChar, 15, datosCOVE.Request.ResponseEdocument.Cove.Edocument)); // parametros.Add(new SqlParameterItem("@pXML", SqlDbType.VarChar, 200, datosCOVE.Request.ResponseEdocument.Cove.XML)); // parametros.Add(new SqlParameterItem("@pPDF", SqlDbType.VarChar, 200, datosCOVE.Request.ResponseEdocument.Cove.PDF)); parametros.Add(new SqlParameterItem("@pTipoOperacion", SqlDbType.VarChar, 50, datosCOVE.Request.ResponseEdocument.Cove.TipoOperacion)); // parametros.Add(new SqlParameterItem("@pFechaExpedicion", SqlDbType.Date, datosCOVE.Request.ResponseEdocument.Cove.FechaExpedicion)); // //parametros.Add(new SqlParameterItem("@pNumeroFactura", SqlDbType.VarChar, 30, pNumerofactura));//lista //parametros.Add(new SqlParameterItem("@pNombreEmisor", SqlDbType.VarChar, 200, pNombreEmisor));// //parametros.Add(new SqlParameterItem("@pIdentificadorEmisor", SqlDbType.VarChar, 50, pIdentificadorEmisor));// //parametros.Add(new SqlParameterItem("@pNombreDestinatario", SqlDbType.VarChar, 200, pNombreDestinatario));// //parametros.Add(new SqlParameterItem("@pIdentificadorDestinatar", SqlDbType.VarChar, 50, pIdentificadorDestinatario));// //parametros.Add(new SqlParameterItem("@pCertificadoOrigen", SqlDbType.Bit, pCertificadoOrigen));//NO VA parametros.Add(new SqlParameterItem("@pSumaValorTotal", SqlDbType.Float, 0)); parametros.Add(new SqlParameterItem("@pIdEmpresa", SqlDbType.Int, datosCOVE.IdEmpresa)); parametros.Add(new SqlParameterItem("@pID", SqlDbType.Int, 0, ParameterDirection.Output)); var vHelper = InicializaConexion(datosCOVE.IdEmpresa); var rCove = vHelper.ExecuteNonQuery("usp_COVE_Inserta", parametros);//duda false datosCOVE.Request.ResponseEdocument.Cove.IdCOVE = Convert.ToInt16(vHelper.GetParameterOutput("@pID")); //Insertar lista de patentes foreach (var patente in datosCOVE.Request.ResponseEdocument.Cove.PatentesAduanales) { InsertaPatenteXCOVE(patente, datosCOVE.Request.ResponseEdocument.Cove.IdCOVE, datosCOVE.IdEmpresa); } for (int i = 0; i < datosCOVE.Request.ResponseEdocument.Cove.Facturas.Count(); i++) { datosCOVE.Request.ResponseEdocument.Cove.Facturas[i] = InsertaFacturaCOVE(datosCOVE.Request.ResponseEdocument.Cove.Facturas[i], datosCOVE.Request.ResponseEdocument.Cove.IdCOVE, datosCOVE.IdUsuario, datosCOVE.IdEmpresa); } return(datosCOVE); }
private ConsultaEdocument GenerarLlamadoEspecifico(DatosCOVE datosCOVE, ConsultaEdocumentPor consultaPor) { //var vucem = Util.ServicioVUCEM(); var io = FactoryEngine <IOperacionEmpresaDominio> .GetInstance("IOperacionEmpresaDominioConfig"); var entidad = new ConsultaEdocument(); switch (consultaPor) { case ConsultaEdocumentPor.Empresa: var req = new EntidadEmpresa() { OperacionEspecifica = OperacionEmpresaItem.DameDatosEmpresaXId, DatosEmpresa = new Empresa() { IdEmpresaVw = datosCOVE.IdEmpresa }, DatosPatente = new Patente() { IdPatente = datosCOVE.IdPatente } }; var response = io.OperacionEmpresaItem(req); entidad = new ConsultaEdocument() { ArchivoCer = GetArchivoCerKey(ConvertirEmpresaToArchivoCer(response.DatosEmpresa)), ArchivoKey = GetArchivoCerKey(ConvertirEmpresaToArchivoKey(response.DatosEmpresa)), Edocument = datosCOVE.Request.Edocument.Trim(), RFC = response.DatosEmpresa.RFC.Trim(), PasswordCerKey = response.DatosEmpresa.PasswordCertificado.Trim(), PasswordWSVucem = response.DatosEmpresa.WebKeyVUCEM.Trim() }; break; case ConsultaEdocumentPor.Patente: req = new EntidadEmpresa() { OperacionEspecifica = OperacionEmpresaItem.DameDatosPatenteXId, DatosEmpresa = new Empresa() { IdEmpresaVw = datosCOVE.IdEmpresa }, DatosPatente = new Patente() { IdPatente = datosCOVE.IdPatente } }; response = io.OperacionEmpresaItem(req); entidad = new ConsultaEdocument() { ArchivoCer = GetArchivoCerKey(ConvertirPatenteToArchivoCer(response.DatosPatente)), ArchivoKey = GetArchivoCerKey(ConvertirPatenteToArchivoKey(response.DatosPatente)), Edocument = datosCOVE.Request.Edocument.Trim(), RFC = response.DatosPatente.RFC.Trim(), PasswordCerKey = response.DatosPatente.PasswordKey.Trim(), PasswordWSVucem = response.DatosPatente.WebKeyVUCEM.Trim() }; break; } return(entidad); //var response = vucem.ConsultaEdocumentVucem(new ConsultaEdocumentVUCEMRequest()); }
public DatosCOVE DameIdXNOCOVE(DatosCOVE datosCOVE) { return(DameIdXNOCOVEBd(datosCOVE)); }