public int BuscarInformacionTransferencia(string _stNumeroTransferencia)
 {
     try {
         DExecute       _obExecute       = new DExecute();
         DProcedimiento _obProcedimiento = new DProcedimiento {
             NombreProcedimiento = "dbo.PRC_LISTA_INFO_TRANSFERENCIA",
             Parametros          = new List <DParametro> {
                 new DParametro {
                     Nombre = "@NumeroTransferencia",
                     Valor  = _stNumeroTransferencia,
                     Tipo   = DbType.String
                 }
             }
         };
         _obExecute.abrirConexion();
         DataTable _dtInformacionTransferencia = _obExecute.Consultar(_obProcedimiento);
         _obExecute.cerrarConexion();
         if (_dtInformacionTransferencia.Rows.Count > 0)
         {
             foreach (DataRow _drInformacionTransferencia in _dtInformacionTransferencia.Rows)
             {
                 Transferencia = new MTransferencia {
                     NumeroTransferencia              = _drInformacionTransferencia["NumeroTransferencia"].ToString(),
                     CuentaOrigen                     = _drInformacionTransferencia["CuentaOrigen"].ToString(),
                     CuentaDestino                    = _drInformacionTransferencia["CuentaDestino"].ToString(),
                     MontoTransferencia               = Convert.ToDouble(_drInformacionTransferencia["MontoTransferencia"].ToString()),
                     DescripcionTransferencia         = _drInformacionTransferencia["DescripcionTransferencia"].ToString(),
                     Calendarizado                    = Convert.ToBoolean(_drInformacionTransferencia["Calendarizado"].ToString()),
                     PeriodoCalendarizacion           = Convert.ToInt32(_drInformacionTransferencia["PeriodoCalendarizacion"].ToString()),
                     FechaInicioCalendarizacion       = DateTime.Parse(_drInformacionTransferencia["FechaInicioCalendarizacion"].ToString()),
                     FechaFinalizacionCalendarizacion = DateTime.Parse(_drInformacionTransferencia["FechaFinalizacionCalendarizacion"].ToString()),
                     Programado           = Convert.ToBoolean(_drInformacionTransferencia["Programado"].ToString()),
                     FechaProgramacion    = DateTime.Parse(_drInformacionTransferencia["FechaProgramacion"].ToString()),
                     FechaTransferencia   = DateTime.Parse(_drInformacionTransferencia["FechaTransferencia"].ToString()),
                     UsuarioTransferencia = _drInformacionTransferencia["UsuarioTransferencia"].ToString(),
                     EstadoTransferencia  = Convert.ToInt32(_drInformacionTransferencia["EstadoTransferencia"].ToString())
                 };
             }
             return(0);
         }
         else
         {
             return(5);
         }
     }
     catch (Exception ex) {
         throw ex;
     }
 }
 protected void OnClicValidar(object sender, EventArgs e)
 {
     try {
         if (_dlCuentaOrigen.SelectedValue != _lbCuentaDestino.Text)
         {
             if (Convert.ToDouble(_txMontoTransferir.Text) > 0)
             {
                 _obTransferenciaCuentasPropias = new BLLTransferenciaCuentasPropias();
                 MUsuario _obUsuario = (MUsuario)Session["atributos_usuario"];
                 if (_dlCalendarizarProgramas.SelectedValue == "0")
                 {
                     MTransferencia _obTransferencia = new MTransferencia {
                         CuentaOrigen             = _dlCuentaOrigen.SelectedValue,
                         CuentaDestino            = _lbCuentaDestino.Text,
                         MontoTransferencia       = Convert.ToDouble(_txMontoTransferir.Text),
                         DescripcionTransferencia = _txDescripcionTrasnferir.Text,
                         Calendarizado            = false,
                         Programado           = false,
                         UsuarioTransferencia = _obUsuario.usuario
                     };
                     int _inEstadoEjecucion = _obTransferenciaCuentasPropias.InsertarInformacionTransferencia(_obTransferencia);
                     if (_inEstadoEjecucion != 0)
                     {
                         _lbMensajeUsuario.Text     = "Error al crear transferencia.";
                         _lbMensajeUsuario.CssClass = "text-bold text-danger";
                     }
                     else
                     {
                         if (_obTransferenciaCuentasPropias.Transferencia != null)
                         {
                             Response.Redirect($"ConfirmacionTrasnferencia.aspx?nt={_obTransferenciaCuentasPropias.Transferencia.NumeroTransferencia}");
                         }
                         else
                         {
                             _lbMensajeUsuario.Text     = $"No se pudo capturar la transferencia, comuniquese con el banco.";
                             _lbMensajeUsuario.CssClass = "text-bold text-danger";
                         }
                     }
                 }
                 else if (_dlCalendarizarProgramas.SelectedValue == "1")
                 {
                     if (_txFechaIncioTransferencia.Text != "")
                     {
                         if (_txFechaFinalizaTransferencia.Text != "")
                         {
                             bool _boValidaFormato = Regex.IsMatch(_txFechaIncioTransferencia.Text, @"^\d{4}-((0\d)|(1[012]))-(([012]\d)|3[01])$");
                             if (_boValidaFormato)
                             {
                                 _boValidaFormato = Regex.IsMatch(_txFechaFinalizaTransferencia.Text, @"^\d{4}-((0\d)|(1[012]))-(([012]\d)|3[01])$");
                                 if (_boValidaFormato)
                                 {
                                     DateTime _dtFechaInicioCalendarizacion       = DateTime.Parse(_txFechaIncioTransferencia.Text);
                                     DateTime _dtFechaFinalizacionCalendarizacion = DateTime.Parse(_txFechaFinalizaTransferencia.Text);
                                     if (_dtFechaInicioCalendarizacion > DateTime.Now)
                                     {
                                         if (_dtFechaInicioCalendarizacion < _dtFechaFinalizacionCalendarizacion)
                                         {
                                             _obTransferenciaCuentasPropias = new BLLTransferenciaCuentasPropias();
                                             MTransferencia _obTransferencia = new MTransferencia {
                                                 CuentaOrigen                     = _dlCuentaOrigen.SelectedValue,
                                                 CuentaDestino                    = _lbCuentaDestino.Text,
                                                 MontoTransferencia               = Convert.ToDouble(_txMontoTransferir.Text),
                                                 DescripcionTransferencia         = _txDescripcionTrasnferir.Text,
                                                 Calendarizado                    = true,
                                                 PeriodoCalendarizacion           = Convert.ToInt32(_dlPeriodoCalendarizacion.SelectedValue),
                                                 FechaInicioCalendarizacion       = _dtFechaInicioCalendarizacion,
                                                 FechaFinalizacionCalendarizacion = _dtFechaFinalizacionCalendarizacion,
                                                 Programado           = false,
                                                 UsuarioTransferencia = _obUsuario.usuario
                                             };
                                             int _inEstadoEjecucion = _obTransferenciaCuentasPropias.InsertarInformacionTransferencia(_obTransferencia);
                                             if (_inEstadoEjecucion != 0)
                                             {
                                                 _lbMensajeUsuario.Text     = "Error al crear transferencia.";
                                                 _lbMensajeUsuario.CssClass = "text-bold text-danger";
                                             }
                                             else
                                             {
                                                 if (_obTransferenciaCuentasPropias.Transferencia != null)
                                                 {
                                                     Response.Redirect($"ConfirmacionTrasnferencia.aspx?nt={_obTransferenciaCuentasPropias.Transferencia.NumeroTransferencia}");
                                                 }
                                                 else
                                                 {
                                                     _lbMensajeUsuario.Text     = $"No se pudo capturar la transferencia, comuniquese con el banco.";
                                                     _lbMensajeUsuario.CssClass = "text-bold text-danger";
                                                 }
                                             }
                                         }
                                         else
                                         {
                                             _lbMensajeUsuario.Text     = $"La fecha de finalización no puede ser menor o igual a la de inicio para calendizar.";
                                             _lbMensajeUsuario.CssClass = "text-bold text-danger";
                                         }
                                     }
                                     else
                                     {
                                         _lbMensajeUsuario.Text     = $"La fecha de inicio debe ser mayor a la fecha actual para calendizar.";
                                         _lbMensajeUsuario.CssClass = "text-bold text-danger";
                                     }
                                 }
                                 else
                                 {
                                     _lbMensajeUsuario.Text     = $"Formato para fecha de finalización no válido.";
                                     _lbMensajeUsuario.CssClass = "text-bold text-danger";
                                 }
                             }
                             else
                             {
                                 _lbMensajeUsuario.Text     = $"Formato para fecha de inicio no válido.";
                                 _lbMensajeUsuario.CssClass = "text-bold text-danger";
                             }
                         }
                         else
                         {
                             _lbMensajeUsuario.Text     = $"Debe ingresar un valor válido como fecha de fin para la calendarización.";
                             _lbMensajeUsuario.CssClass = "text-bold text-danger";
                         }
                     }
                     else
                     {
                         _lbMensajeUsuario.Text     = $"Debe ingresar un valor válido como fecha de inicio para la calendarización.";
                         _lbMensajeUsuario.CssClass = "text-bold text-danger";
                     }
                 }
                 else if (_dlCalendarizarProgramas.SelectedValue == "2")
                 {
                     if (_txFechaProgramacion.Text != "")
                     {
                         bool _boValidaFormato = Regex.IsMatch(_txFechaProgramacion.Text, @"^\d{4}-((0\d)|(1[012]))-(([012]\d)|3[01])$");
                         if (_boValidaFormato)
                         {
                             DateTime _dtFechaProgramacion = DateTime.Parse(_txFechaProgramacion.Text);
                             if (_dtFechaProgramacion > DateTime.Now)
                             {
                                 _obTransferenciaCuentasPropias = new BLLTransferenciaCuentasPropias();
                                 MTransferencia _obTransferencia = new MTransferencia {
                                     CuentaOrigen             = _dlCuentaOrigen.SelectedValue,
                                     CuentaDestino            = _lbCuentaDestino.Text,
                                     MontoTransferencia       = Convert.ToDouble(_txMontoTransferir.Text),
                                     DescripcionTransferencia = _txDescripcionTrasnferir.Text,
                                     Calendarizado            = false,
                                     Programado           = true,
                                     FechaProgramacion    = _dtFechaProgramacion,
                                     UsuarioTransferencia = _obUsuario.usuario
                                 };
                                 int _inEstadoEjecucion = _obTransferenciaCuentasPropias.InsertarInformacionTransferencia(_obTransferencia);
                                 if (_inEstadoEjecucion != 0)
                                 {
                                     _lbMensajeUsuario.Text     = "Error al crear transferencia.";
                                     _lbMensajeUsuario.CssClass = "text-bold text-danger";
                                 }
                                 else
                                 {
                                     if (_obTransferenciaCuentasPropias.Transferencia != null)
                                     {
                                         Response.Redirect($"ConfirmacionTrasnferencia.aspx?nt={_obTransferenciaCuentasPropias.Transferencia.NumeroTransferencia}");
                                     }
                                     else
                                     {
                                         _lbMensajeUsuario.Text     = $"No se pudo capturar la transferencia, comuniquese con el banco.";
                                         _lbMensajeUsuario.CssClass = "text-bold text-danger";
                                     }
                                 }
                             }
                             else
                             {
                                 _lbMensajeUsuario.Text     = $"La fecha de programación no puede ser menor o igual a la fecha actual.";
                                 _lbMensajeUsuario.CssClass = "text-bold text-danger";
                             }
                         }
                         else
                         {
                             _lbMensajeUsuario.Text     = $"Formato para la fecha de programación no válido.";
                             _lbMensajeUsuario.CssClass = "text-bold text-danger";
                         }
                     }
                     else
                     {
                         _lbMensajeUsuario.Text     = $"Debe ingresar un valor válido como fecha de programación.";
                         _lbMensajeUsuario.CssClass = "text-bold text-danger";
                     }
                 }
                 else
                 {
                     _lbMensajeUsuario.Text     = $"No se encontro valor de calentarización/programación, ingrese nuevamente a la opción.";
                     _lbMensajeUsuario.CssClass = "text-bold text-danger";
                 }
             }
             else
             {
                 _lbMensajeUsuario.Text     = $"Monto ingresado inválido, ingrese nuevamente el monto de la trasnferencia.";
                 _lbMensajeUsuario.CssClass = "text-bold text-danger";
             }
         }
         else
         {
             _lbMensajeUsuario.Text     = $"Cuenta origen y cuenta destino no pueden ser las mismas, seleccione otra cuenta y repita la operación.";
             _lbMensajeUsuario.CssClass = "text-bold text-danger";
         }
     }
     catch (Exception ex) {
         _lbMensajeUsuario.Text     = $"Error de aplicación. {ex.Message}";
         _lbMensajeUsuario.CssClass = "text-bold text-danger";
     }
 }
 public int InsertarInformacionTransferencia(MTransferencia _obTransferencia)
 {
     try {
         Transferencia = _obTransferencia;
         DExecute       _obExecute       = new DExecute();
         DProcedimiento _obProcedimiento = new DProcedimiento {
             NombreProcedimiento = "dbo.PRC_CREAR_TRANSACCION",
             Parametros          = new List <DParametro> {
                 new DParametro {
                     Nombre = "@CuentaOrigen",
                     Valor  = Transferencia.CuentaOrigen,
                     Tipo   = DbType.String
                 },
                 new DParametro {
                     Nombre = "@CuentaDestino",
                     Valor  = Transferencia.CuentaDestino,
                     Tipo   = DbType.String
                 },
                 new DParametro {
                     Nombre = "@MontoTransferencia",
                     Valor  = Transferencia.MontoTransferencia,
                     Tipo   = DbType.Decimal
                 },
                 new DParametro {
                     Nombre = "@DescripcionTransferencia",
                     Valor  = Transferencia.DescripcionTransferencia,
                     Tipo   = DbType.String
                 },
                 new DParametro {
                     Nombre = "@Calendarizado",
                     Valor  = Transferencia.Calendarizado,
                     Tipo   = DbType.Boolean
                 },
                 new DParametro {
                     Nombre = "@PeriodoCalendarizacion",
                     Valor  = Transferencia.PeriodoCalendarizacion,
                     Tipo   = DbType.Int32
                 },
                 new DParametro {
                     Nombre = "@FechaInicioCalendarizacion",
                     Valor  = Transferencia.FechaInicioCalendarizacion,
                     Tipo   = DbType.DateTime
                 },
                 new DParametro {
                     Nombre = "@FechaFinalizacionCalendarizacion",
                     Valor  = Transferencia.FechaFinalizacionCalendarizacion,
                     Tipo   = DbType.DateTime
                 },
                 new DParametro {
                     Nombre = "@Programado",
                     Valor  = Transferencia.Programado,
                     Tipo   = DbType.Boolean
                 },
                 new DParametro {
                     Nombre = "@FechaProgramacion",
                     Valor  = Transferencia.FechaProgramacion,
                     Tipo   = DbType.DateTime
                 },
                 new DParametro {
                     Nombre = "@UsuarioTransferencia",
                     Valor  = Transferencia.UsuarioTransferencia,
                     Tipo   = DbType.String
                 }
             }
         };
         _obExecute.abrirConexion();
         DataTable _dtResultadoInsert = _obExecute.Consultar(_obProcedimiento);
         if (_dtResultadoInsert.Rows.Count > 0)
         {
             int    _inResultadoInsert = 0;
             string _stResultadoInsert = "";
             foreach (DataRow _drResultadoInsert in _dtResultadoInsert.Rows)
             {
                 _inResultadoInsert = Convert.ToInt32(_drResultadoInsert["CodigoResultado"].ToString());
                 _stResultadoInsert = _drResultadoInsert["MensajeResultado"].ToString();
             }
             if (_inResultadoInsert != 0)
             {
                 throw new Exception($"{_stResultadoInsert} [{_inResultadoInsert}]");
             }
             else
             {
                 Transferencia.NumeroTransferencia = _stResultadoInsert;
                 return(_inResultadoInsert);
             }
         }
         else
         {
             return(5);
         }
     }
     catch (Exception ex) {
         throw ex;
     }
 }
 public BLLTransferenciaCuentasPropias(MTransferencia _obTransferencia)
 {
     Transferencia = _obTransferencia;
 }
 public BLLTransferenciaCuentasPropias()
 {
     Transferencia = null;
 }