public Task <BE_ResultadoTransaccion> Update(BE_TxRegistroDocumento entidad) { return(Task.Run(() => { BE_ResultadoTransaccion vResultadoTransaccion = new BE_ResultadoTransaccion(); vResultadoTransaccion.ResultadoCodigo = 1; try { DriveApiService driveApiService = new DriveApiService(); var resp = driveApiService.MoveFile(entidad.IdGoogleDrive, entidad.IdGoogleDriveFolder); if (resp.Result == 0) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = "Ocurrio un error al mover archivo en el google drive"; return vResultadoTransaccion; } } catch (Exception ex) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); return vResultadoTransaccion; } try { entidad.IdGoogleDrive = null; entidad.IdGoogleDriveFolder = null; Update(entidad, SP_UPDATESTATUS); } catch (Exception ex) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); return vResultadoTransaccion; } return vResultadoTransaccion; })); }
public async Task <BE_ResultadoTransaccion> Create(BE_TxSIMConsolidado value) { BE_ResultadoTransaccion vResultadoTransaccion = new BE_ResultadoTransaccion(); _metodoName = regex.Match(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name).Groups[1].Value.ToString(); vResultadoTransaccion.ResultadoMetodo = _metodoName; vResultadoTransaccion.ResultadoAplicacion = _aplicacionName; try { using (SqlConnection conn = new SqlConnection(context.DevuelveConnectionSQL())) { using (CommittableTransaction transaction = new CommittableTransaction()) { await conn.OpenAsync(); conn.EnlistTransaction(transaction); try { using (SqlCommand cmd = new SqlCommand(SP_INSERT, conn)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter oParam = new SqlParameter("@IdSIMConsolidado", value.IdSIMConsolidado); oParam.SqlDbType = SqlDbType.Int; oParam.Direction = ParameterDirection.Output; cmd.Parameters.Add(oParam); cmd.Parameters.Add(new SqlParameter("@Observacion", value.Observacion)); cmd.Parameters.Add(new SqlParameter("@RegUsuario", value.RegUsuario)); cmd.Parameters.Add(new SqlParameter("@RegEstacion", value.RegEstacion)); await cmd.ExecuteNonQueryAsync(); value.IdSIMConsolidado = (int)cmd.Parameters["@IdSIMConsolidado"].Value; } if (value.ListaTxSIMConsolidadoDetalle != null) { if (value.ListaTxSIMConsolidadoDetalle.Count() > 0) { using (SqlCommand cmd = new SqlCommand(SP_MERGE_DETALLE, conn)) { foreach (BE_TxSIMConsolidadoDetalle item in value.ListaTxSIMConsolidadoDetalle) { cmd.Parameters.Clear(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@IdSIMConsolidadoDetalle", item.IdSIMConsolidadoDetalle)); cmd.Parameters.Add(new SqlParameter("@IdSIMConsolidado", value.IdSIMConsolidado)); cmd.Parameters.Add(new SqlParameter("@IdSIM", item.IdSIM)); cmd.Parameters.Add(new SqlParameter("@RegUsuario", value.RegUsuario)); cmd.Parameters.Add(new SqlParameter("@RegEstacion", value.RegEstacion)); await cmd.ExecuteNonQueryAsync(); } } } } using (SqlCommand cmd = new SqlCommand(SP_UPDATE_DESCRIPCION, conn)) { cmd.Parameters.Clear(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@IdSIMConsolidado", value.IdSIMConsolidado)); await cmd.ExecuteNonQueryAsync(); } transaction.Commit(); vResultadoTransaccion.IdRegistro = (int)value.IdSIMConsolidado; vResultadoTransaccion.ResultadoCodigo = 0; vResultadoTransaccion.ResultadoDescripcion = string.Format("Se registro correctamente"); } catch (Exception ex) { transaction.Rollback(); vResultadoTransaccion.IdRegistro = -1; vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); } } } } catch (Exception ex) { vResultadoTransaccion.IdRegistro = -1; vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); } return(vResultadoTransaccion); }
public async Task <BE_ResultadoTransaccion> UpdateStatus(BE_TxSIMConsolidado entidad) { BE_ResultadoTransaccion vResultadoTransaccion = new BE_ResultadoTransaccion(); vResultadoTransaccion.ResultadoCodigo = 1; try { Update(entidad, SP_UPDATE_STATUS); } catch (Exception ex) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); return(vResultadoTransaccion); } var memory = new MemoryStream(); try { var memoryPDF = await GenerarPDF(entidad.IdSIMConsolidado, entidad.DescripcionEmpresa); memory = memoryPDF; } catch (Exception ex) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); return(vResultadoTransaccion); } //Obtiene informacion del examen fisicion del pollito bebe var data = context.ExecuteSqlViewId <BE_TxSIM>(SP_GET_ID_GOOGLE_DRIVE, new BE_TxSIM { IdSIMConsolidado = entidad.IdSIMConsolidado }); var nameFile = string.Format("{0}.{1}", data.NombreArchivo, "pdf"); try { EmailSenderRepository emailSenderRepository = new EmailSenderRepository(context); var mensaje = string.Format("Se envía Consolidado del Sistema Integral de Monitoreo de Campo - N° {0}", entidad.IdSIMConsolidado); await emailSenderRepository.SendEmailAsync(data.EmailTo, "Correo Automatico - Sistema Integral de Monitoreo de Campo", mensaje, new BE_MemoryStream { FileMemoryStream = memory }, nameFile); } catch (Exception ex) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); return(vResultadoTransaccion); } MemoryStream ms = memory; TxRegistroDocumentoRepository _repository = new TxRegistroDocumentoRepository(context); List <IFormFile> files = new List <IFormFile>(); var fileMock = new Mock <IFormFile>(); fileMock.Setup(_ => _.FileName).Returns(nameFile); fileMock.Setup(_ => _.ContentType).Returns("application/pdf"); fileMock.Setup(_ => _.Length).Returns(ms.Length); fileMock.Setup(_ => _.OpenReadStream()).Returns(ms); fileMock.Setup(_ => _.ContentDisposition).Returns(string.Format("inline; filename={0}", nameFile)); files.Add(fileMock.Object); try { var resultDocumentFile = await _repository.Create(new BE_TxRegistroDocumento { CodigoEmpresa = data.CodigoEmpresa, DescripcionEmpresa = data.DescripcionEmpresa, CodigoPlanta = data.CodigoPlanta, DescripcionPlanta = data.DescripcionPlanta, DescripcionTipoExplotacion = data.DescripcionTipoExplotacion, DescripcionSubTipoExplotacion = data.DescripcionSubTipoExplotacion, IdSubTipoExplotacion = data.IdSubTipoExplotacion, IdDocumento = 0, IdDocumentoReferencial = (int)data.IdSIMConsolidado, FlgCerrado = true, FecCerrado = DateTime.Now, IdUsuarioCierre = entidad.RegUsuario, RegUsuario = entidad.RegUsuario, RegEstacion = entidad.RegEstacion }, files); if (resultDocumentFile.ResultadoCodigo == -1) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = resultDocumentFile.ResultadoDescripcion; return(vResultadoTransaccion); } } catch (Exception ex) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); return(vResultadoTransaccion); } return(vResultadoTransaccion); }
public async Task <BE_ResultadoTransaccion> Create(BE_TxExamenFisicoPollito value) { BE_ResultadoTransaccion vResultadoTransaccion = new BE_ResultadoTransaccion(); _metodoName = regex.Match(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name).Groups[1].Value.ToString(); vResultadoTransaccion.ResultadoMetodo = _metodoName; vResultadoTransaccion.ResultadoAplicacion = _aplicacionName; try { using (SqlConnection conn = new SqlConnection(context.DevuelveConnectionSQL())) { using (CommittableTransaction transaction = new CommittableTransaction()) { await conn.OpenAsync(); conn.EnlistTransaction(transaction); try { using (SqlCommand cmd = new SqlCommand(SP_INSERT, conn)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter oParam = new SqlParameter("@IdExamenFisico", value.IdExamenFisico); oParam.SqlDbType = SqlDbType.Int; oParam.Direction = ParameterDirection.Output; cmd.Parameters.Add(oParam); cmd.Parameters.Add(new SqlParameter("@CodigoEmpresa", value.CodigoEmpresa)); cmd.Parameters.Add(new SqlParameter("@CodigoPlanta", value.CodigoPlanta)); cmd.Parameters.Add(new SqlParameter("@FecRegistro", value.FecRegistro)); cmd.Parameters.Add(new SqlParameter("@ResponsableInvetsa", value.ResponsableInvetsa)); cmd.Parameters.Add(new SqlParameter("@ResponsablePlanta", value.ResponsablePlanta)); cmd.Parameters.Add(new SqlParameter("@NumeroNacedora", value.NumeroNacedora)); cmd.Parameters.Add(new SqlParameter("@Lote", value.Lote)); cmd.Parameters.Add(new SqlParameter("@PesoPromedio", value.PesoPromedio)); cmd.Parameters.Add(new SqlParameter("@EdadReproductora", value.EdadReproductora)); cmd.Parameters.Add(new SqlParameter("@Sexo", value.Sexo)); cmd.Parameters.Add(new SqlParameter("@LineaGenetica", value.LineaGenetica)); cmd.Parameters.Add(new SqlParameter("@Calificacion", value.Calificacion)); cmd.Parameters.Add(new SqlParameter("@Uniformidad", value.Uniformidad)); cmd.Parameters.Add(new SqlParameter("@IdCalidad", value.IdCalidad)); cmd.Parameters.Add(new SqlParameter("@FirmaInvetsa", value.FirmaInvetsa)); cmd.Parameters.Add(new SqlParameter("@FirmaPlanta", value.FirmaPlanta)); cmd.Parameters.Add(new SqlParameter("@EmailFrom", value.EmailFrom)); cmd.Parameters.Add(new SqlParameter("@EmailTo", value.EmailTo)); cmd.Parameters.Add(new SqlParameter("@FlgCerrado", value.FlgCerrado)); cmd.Parameters.Add(new SqlParameter("@IdUsuarioCierre", value.IdUsuarioCierre)); cmd.Parameters.Add(new SqlParameter("@FecCierre", value.FecCierre)); cmd.Parameters.Add(new SqlParameter("@RegUsuario", value.RegUsuario)); cmd.Parameters.Add(new SqlParameter("@RegEstacion", value.RegEstacion)); await cmd.ExecuteNonQueryAsync(); value.IdExamenFisico = (int)cmd.Parameters["@IdExamenFisico"].Value; } using (SqlCommand cmd = new SqlCommand(SP_MERGE_DETALLE, conn)) { foreach (BE_TxExamenFisicoPollitoDetalleNew item in value.ListDetalleNew) { cmd.Parameters.Clear(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@IdExamenFisicoDetalle", item.IdExamenFisicoDetalle)); cmd.Parameters.Add(new SqlParameter("@IdExamenFisico", value.IdExamenFisico)); cmd.Parameters.Add(new SqlParameter("@NumeroPollito", item.NumeroPollito)); if (item.Factor == 0) { cmd.Parameters.Add(new SqlParameter("@IdProcesoDetalle", item.IdProcesoDetalle)); } else { cmd.Parameters.Add(new SqlParameter("@IdProcesoDetalle", item.Valor)); } cmd.Parameters.Add(new SqlParameter("@Valor", item.Valor)); cmd.Parameters.Add(new SqlParameter("@RegUsuario", value.RegUsuario)); cmd.Parameters.Add(new SqlParameter("@RegEstacion", value.RegEstacion)); await cmd.ExecuteNonQueryAsync(); } } using (SqlCommand cmd = new SqlCommand(SP_MERGE_DETALLE_RESUMEN, conn)) { foreach (BE_TxExamenFisicoPollitoResumen item in value.ListDetalleResumen) { cmd.Parameters.Clear(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@IdExamenFisicoDetalle", item.IdExamenFisicoDetalle)); cmd.Parameters.Add(new SqlParameter("@IdExamenFisico", value.IdExamenFisico)); cmd.Parameters.Add(new SqlParameter("@IdProceso", item.IdProceso)); cmd.Parameters.Add(new SqlParameter("@Esperado", item.Esperado)); cmd.Parameters.Add(new SqlParameter("@Obtenido", item.Obtenido)); cmd.Parameters.Add(new SqlParameter("@RegUsuario", value.RegUsuario)); cmd.Parameters.Add(new SqlParameter("@RegEstacion", value.RegEstacion)); await cmd.ExecuteNonQueryAsync(); } } if (value.ListDetalleFotos != null) { if (value.ListDetalleFotos.Count() > 0) { using (SqlCommand cmd = new SqlCommand(SP_MERGE_DETALLE_FOTO, conn)) { foreach (BE_TxExamenFisicoPollitoDetalleFotos item in value.ListDetalleFotos) { cmd.Parameters.Clear(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@IdExamenFisicoDetalle", item.IdExamenFisicoDetalle)); cmd.Parameters.Add(new SqlParameter("@IdExamenFisico", value.IdExamenFisico)); cmd.Parameters.Add(new SqlParameter("@Foto", item.Foto)); cmd.Parameters.Add(new SqlParameter("@RegUsuario", value.RegUsuario)); cmd.Parameters.Add(new SqlParameter("@RegEstacion", value.RegEstacion)); await cmd.ExecuteNonQueryAsync(); } } } } transaction.Commit(); vResultadoTransaccion.IdRegistro = (int)value.IdExamenFisico; vResultadoTransaccion.ResultadoCodigo = 0; vResultadoTransaccion.ResultadoDescripcion = "Se realizo correctamente"; } catch (Exception ex) { transaction.Rollback(); vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); return(vResultadoTransaccion); } } } } catch (Exception ex) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); return(vResultadoTransaccion); } return(vResultadoTransaccion); }
public async Task <BE_ResultadoTransaccion> Create(BE_TxRegistroDocumento entidad, IList <IFormFile> lista_anexo, bool generaNombre = true) { BE_ResultadoTransaccion vResultadoTransaccion = new BE_ResultadoTransaccion(); vResultadoTransaccion.ResultadoCodigo = 1; try { using (SqlConnection conn = new SqlConnection(context.DevuelveConnectionSQL())) { using (CommittableTransaction transaction = new CommittableTransaction()) { await conn.OpenAsync(); conn.EnlistTransaction(transaction); if (lista_anexo.Count > 0) { string extension = string.Empty; string nombre_archivo = string.Empty; Google.Apis.Drive.v3.Data.File fileGoogleDrive = new Google.Apis.Drive.v3.Data.File(); var _anio = DateTime.Now.Year; var _mes = DateTime.Now.Month; DateTimeFormatInfo dateTimeFormatInfo = CultureInfo.CurrentCulture.DateTimeFormat; string nombreMes = dateTimeFormatInfo.GetMonthName(_mes); entidad.Ano = _anio; entidad.Mes = _mes; try { DriveApiService googleApiDrive = new DriveApiService(); // Validamos si existe Id de folder en Google Drive string IdFolderGoogleDrive = string.Empty; var IdFolderEmpresaGoogleDrive = googleApiDrive.CreateFolder(entidad.DescripcionEmpresa); using (SqlCommand cmd = new SqlCommand(SP_GOOGLE_DRIVE_EMPRESA_MERGE, conn)) { cmd.Parameters.Clear(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@CodigoEmpresa", entidad.CodigoEmpresa)); cmd.Parameters.Add(new SqlParameter("@IdGoogleDrive", IdFolderEmpresaGoogleDrive)); cmd.Parameters.Add(new SqlParameter("@RegUsuario", entidad.RegUsuario)); cmd.Parameters.Add(new SqlParameter("@RegEstacion", entidad.RegEstacion)); await cmd.ExecuteNonQueryAsync(); } IdFolderGoogleDrive = GetIdDriveFolder(new BE_TxRegistroDocumentoFolder { IdSubTipoExplotacion = entidad.IdSubTipoExplotacion, CodigoEmpresa = entidad.CodigoEmpresa, CodigoPlanta = entidad.CodigoPlanta, Ano = entidad.Ano, Mes = entidad.Mes }); if (string.IsNullOrEmpty(IdFolderGoogleDrive)) { IdFolderGoogleDrive = googleApiDrive.GenerateDirectory(entidad.DescripcionEmpresa, entidad.DescripcionPlanta, entidad.DescripcionTipoExplotacion, entidad.DescripcionSubTipoExplotacion, entidad.Ano.ToString(), nombreMes); using (SqlCommand cmd = new SqlCommand(SP_GOOGLE_DRIVE_INSERT, conn)) { cmd.Parameters.Clear(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@IdSubTipoExplotacion", entidad.IdSubTipoExplotacion)); cmd.Parameters.Add(new SqlParameter("@CodigoEmpresa", entidad.CodigoEmpresa)); cmd.Parameters.Add(new SqlParameter("@CodigoPlanta", entidad.CodigoPlanta)); cmd.Parameters.Add(new SqlParameter("@IdGoogleDrive", IdFolderGoogleDrive)); cmd.Parameters.Add(new SqlParameter("@RegUsuario", entidad.RegUsuario)); cmd.Parameters.Add(new SqlParameter("@RegEstacion", entidad.RegEstacion)); await cmd.ExecuteNonQueryAsync(); } } if (entidad.FlgCerrado == null) { var IdFolderPendienteCierreGoogleDrive = googleApiDrive.CreateFolder("PENDIENTE CIERRE"); IdFolderGoogleDrive = IdFolderPendienteCierreGoogleDrive; } using (SqlCommand cmd = new SqlCommand(SP_INSERT, conn)) { foreach (IFormFile _lista in lista_anexo) { extension = _lista.FileName.Split('.').Last(); nombre_archivo = string.Empty; nombre_archivo = _lista.FileName.Replace("." + extension, string.Empty); cmd.Parameters.Clear(); cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter oParam = new SqlParameter("@IdDocumento", entidad.IdDocumento); oParam.SqlDbType = SqlDbType.Int; oParam.Direction = ParameterDirection.Output; cmd.Parameters.Add(oParam); cmd.Parameters.Add(new SqlParameter("@IdSubTipoExplotacion", entidad.IdSubTipoExplotacion)); cmd.Parameters.Add(new SqlParameter("@CodigoEmpresa", entidad.CodigoEmpresa)); cmd.Parameters.Add(new SqlParameter("@DescripcionEmpresa", entidad.DescripcionEmpresa)); cmd.Parameters.Add(new SqlParameter("@CodigoPlanta", entidad.CodigoPlanta)); cmd.Parameters.Add(new SqlParameter("@GeneraNombre", generaNombre)); cmd.Parameters.Add(new SqlParameter("@NombreOriginal", nombre_archivo)); SqlParameter oParamNombreArchivo = new SqlParameter("@NombreArchivo", SqlDbType.VarChar, 300) { Direction = ParameterDirection.Output }; cmd.Parameters.Add(oParamNombreArchivo); SqlParameter oParamCadenaEmail = new SqlParameter("@CadenaEmail", SqlDbType.VarChar, 300) { Direction = ParameterDirection.Output }; cmd.Parameters.Add(oParamCadenaEmail); cmd.Parameters.Add(new SqlParameter("@TipoArchivo", _lista.ContentType)); cmd.Parameters.Add(new SqlParameter("@ExtencionArchivo", extension)); cmd.Parameters.Add(new SqlParameter("@FlgCerrado", entidad.FlgCerrado)); cmd.Parameters.Add(new SqlParameter("@IdUsuarioCierre", entidad.IdUsuarioCierre)); cmd.Parameters.Add(new SqlParameter("@FecCerrado", entidad.FecCerrado)); cmd.Parameters.Add(new SqlParameter("@IdDocumentoReferencial", entidad.IdDocumentoReferencial)); cmd.Parameters.Add(new SqlParameter("@RegUsuario", entidad.RegUsuario)); cmd.Parameters.Add(new SqlParameter("@RegEstacion", entidad.RegEstacion)); await cmd.ExecuteNonQueryAsync(); entidad.IdDocumento = (int)cmd.Parameters["@IdDocumento"].Value; entidad.NombreArchivo = (string)oParamNombreArchivo.Value; var cadenaEmail = (string)oParamCadenaEmail.Value; nombre_archivo = entidad.NombreArchivo + "." + extension.ToString(); fileGoogleDrive = await googleApiDrive.Upload(_lista, IdFolderGoogleDrive, entidad.NombreArchivo); if (!string.IsNullOrEmpty(fileGoogleDrive.Id)) { using (SqlCommand cmdIdGoogle = new SqlCommand(SP_UPDATE, conn)) { cmdIdGoogle.Parameters.Clear(); cmdIdGoogle.CommandType = System.Data.CommandType.StoredProcedure; cmdIdGoogle.Parameters.Add(new SqlParameter("@IdDocumento", entidad.IdDocumento)); cmdIdGoogle.Parameters.Add(new SqlParameter("@IdGoogleDrive", fileGoogleDrive.Id)); cmdIdGoogle.Parameters.Add(new SqlParameter("@RegUsuario", entidad.RegUsuario)); cmdIdGoogle.Parameters.Add(new SqlParameter("@RegEstacion", entidad.RegEstacion)); await cmdIdGoogle.ExecuteNonQueryAsync(); } } if (entidad.FlgCerrado == null) { try { if (!string.IsNullOrEmpty(cadenaEmail)) { EmailSenderRepository emailSenderRepository = new EmailSenderRepository(context); var mensaje = string.Format("Buen día, <br> <br> Se realizo la carga de un nuevo archivo a la extranet N° {0}, Favor su aprobación", entidad.IdDocumento); var link = string.Format(" <br> <br><a href=\"https://auditoria.invetsa.com/Invetsa/\">Ingresar a la Aplicación</a>"); await emailSenderRepository.SendEmailAsync(cadenaEmail, "Correo Automatico - Registro de Documento - Extranet", mensaje + " " + link); } } catch (Exception ex) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); return(vResultadoTransaccion); } } } } transaction.Commit(); } catch (System.Exception ex) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); transaction.Rollback(); } } } } } catch (System.Exception ex) { vResultadoTransaccion.ResultadoCodigo = -1; vResultadoTransaccion.ResultadoDescripcion = ex.Message.ToString(); } return(vResultadoTransaccion); }