private void _btnCrearAutamaticamente_Click(object sender, EventArgs e)
        {
            if (_rbtNCP.Checked || _rbtSDDP.Checked)
            {
                if (_dgvNodosSalida.RowCount == 0)
                {
                    LimpiarSeleccionados();
                    foreach (NodoDemanda nodo in _chkListaNodosConexion.Items)
                    {
                        DemandaSalidaMaestro salidaMaestro = new DemandaSalidaMaestro();
                        salidaMaestro.EsNuevo            = true;
                        salidaMaestro.DCodTipoNodoSalida = _rbtSDDP.Checked ? (int)D_COD_TIPO_NODO_SALIDA.SDDP : (int)D_COD_TIPO_NODO_SALIDA.NCP;
                        salidaMaestro.FkNodoDemanda      = _nodoDemanda.PkNodoDemanda;
                        salidaMaestro.FkNodoSalida       = nodo.PkNodoDemanda;
                        salidaMaestro.FkPersonaNodo      = _personaNodo.PkPersonaNodo;
                        OraDalDemandaSalidaMaestroMgr.Instancia.Guardar(salidaMaestro);

                        DemandaSalidaDetalle salidaDetalle = new DemandaSalidaDetalle();
                        salidaDetalle.EsNuevo = true;
                        salidaDetalle.FkDemandaSalidaMaestro = salidaMaestro.PkDemandaSalidaMaestro;
                        salidaDetalle.FkNodoDemanda          = nodo.PkNodoDemanda;
                        OraDalDemandaSalidaDetalleMgr.Instancia.Guardar(salidaDetalle);
                    }
                    _btnCrearAutamaticamente.Enabled = false;
                }
            }
            _codigoTipoSalida = _rbtSDDP.Checked ? (int)D_COD_TIPO_NODO_SALIDA.SDDP : (int)D_COD_TIPO_NODO_SALIDA.NCP;
            CargarNodosSalida();
            DeshabilitarControles();
        }
 private void _tsbNuevo_Click(object sender, EventArgs e)
 {
     LimpiarControles();
     _nodoDemandaSalida = null;
     _salidaMaestro     = null;
     _salidaDetalle     = null;
     HabilitarControles();
 }
        private void _tsbGuardar_Click(object sender, EventArgs e)
        {
            bool esNuevo = false;

            if (DatosValidos())
            {
                _salidaMaestro = OraDalDemandaSalidaMaestroMgr.Instancia.GetDemandaSalida(_personaNodo.PkPersonaNodo, _nodoDemandaSalida.PkNodoDemanda, _codigoTipoSalida);
                if (_salidaMaestro == null)
                {
                    esNuevo                = true;
                    _salidaMaestro         = new DemandaSalidaMaestro();
                    _salidaMaestro.EsNuevo = true;
                }
                else
                {
                    OraDalDemandaSalidaDetalleMgr.Instancia.EliminarRegistro(_salidaMaestro.PkDemandaSalidaMaestro);
                }
                _salidaMaestro.FkNodoDemanda      = _nodoDemanda.PkNodoDemanda;
                _salidaMaestro.FkNodoSalida       = _nodoDemandaSalida.PkNodoDemanda;
                _salidaMaestro.FkPersonaNodo      = _personaNodo.PkPersonaNodo;
                _salidaMaestro.DCodTipoNodoSalida = _codigoTipoSalida;
                OraDalDemandaSalidaMaestroMgr.Instancia.Guardar(_salidaMaestro);

                foreach (NodoDemanda nodo in _chkListaNodosConexion.CheckedItems)
                {
                    _salidaDetalle         = new DemandaSalidaDetalle();
                    _salidaDetalle.EsNuevo = true;
                    _salidaDetalle.FkDemandaSalidaMaestro = _salidaMaestro.PkDemandaSalidaMaestro;
                    _salidaDetalle.FkNodoDemanda          = nodo.PkNodoDemanda;
                    OraDalDemandaSalidaDetalleMgr.Instancia.Guardar(_salidaDetalle);
                }
                int idx = _idx;
                CargarNodosSalida();
                if (esNuevo)
                {
                    BindingContext[_dgvNodosSalida.DataSource].Position = _dgvNodosSalida.Rows.Count - 1;
                }
                else
                {
                    BindingContext[_dgvNodosSalida.DataSource].Position = idx;
                }
                DeshabilitarControles();
            }
        }
        public void Guardar(DemandaSalidaDetalle obj)
        {
            OracleCommand cmd = null;
            string        sql = string.Empty;

            if (obj.EsNuevo)
            {
                Pista p = PistaMgr.Instance.Info("Demanda", obj.GetEstadoString());
                obj.SecLog = (long)p.PK_SecLog;
                obj.PkDemandaSalidaDetalle = GetIdAutoNum("SQ_F_DM_DEMANDA_SALIDA_DETALLE");
                sql = "INSERT INTO {0} ({1},{2},{3},{4})" +
                      "VALUES(:{1},:{2},:{3},:{4})";
            }
            else
            {
                sql = "UPDATE {0} SET " +
                      "{2}=:{2} ," +
                      "{3}=:{3} ," +
                      "{4}=:{4}  WHERE {1}=:{1} ";
            }

            sql = string.Format(sql, DemandaSalidaDetalle.NOMBRE_TABLA, DemandaSalidaDetalle.C_PK_DEMANDA_SALIDA_DETALLE,
                                DemandaSalidaDetalle.C_FK_DEMANDA_SALIDA_MAESTRO,
                                DemandaSalidaDetalle.C_FK_NODO_DEMANDA,
                                DemandaSalidaDetalle.C_SEC_LOG);
            cmd             = CrearCommand();
            cmd.CommandText = sql;
            cmd.BindByName  = true;
            cmd.Parameters.Add(DemandaSalidaDetalle.C_PK_DEMANDA_SALIDA_DETALLE, OracleDbType.Int64, obj.PkDemandaSalidaDetalle, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DemandaSalidaDetalle.C_FK_DEMANDA_SALIDA_MAESTRO, OracleDbType.Int64, obj.FkDemandaSalidaMaestro, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DemandaSalidaDetalle.C_FK_NODO_DEMANDA, OracleDbType.Int64, obj.FkNodoDemanda, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DemandaSalidaDetalle.C_SEC_LOG, OracleDbType.Int64, obj.SecLog, System.Data.ParameterDirection.Input);

            if (Actualizar(cmd))
            {
                obj.EsNuevo = false;
            }
        }