public DatoTecnicoHidroelectrico GetPorPkProyecto(long pkProyecto)
        {
            string sql = "SELECT {0}.* FROM {0}, F_PR_PROYECTO WHERE {1}={2} AND F_PR_PROYECTO.PK_PROYECTO={0}.{1} AND F_PR_PROYECTO.ESTADO=1";

            sql = string.Format(sql, DatoTecnicoHidroelectrico.NOMBRE_TABLA, DatoTecnicoHidroelectrico.C_FK_PROYECTO, pkProyecto);
            DataTable tabla = EjecutarSql(sql);
            DatoTecnicoHidroelectrico res = null;

            if (tabla.Rows.Count > 0)
            {
                DataRow row = tabla.Rows[0];
                res = new DatoTecnicoHidroelectrico(row);
            }

            return(res);
        }
Exemple #2
0
        private void _btnCopiar_Click(object sender, EventArgs e)
        {
            if (!DatosSonValidos())
            {
                return;
            }

            if (_cmbEtapa.SelectedItem == null)
            {
                DialogResult = DialogResult.No;
            }
            else
            {
                string prefijoEtapa    = GetPrefijoDeTipoDominio((int)_proyectoNuevo.DCodEtapa);
                string prefijoTipoProy = GetPrefijoDeTipoDominio((int)_proyectoMaestro.DTipoProyecto);
                _proyectoSeleccionado.DCodEtapa       = _proyectoNuevo.DCodEtapa;
                _proyectoSeleccionado.FechaDeRegistro = _dtpFechaRegistro.Value.Date;
                _proyectoSeleccionado.EsNuevo         = true;
                GeneradorCodigoProyecto.Instancia.AsignarCodigo(_proyectoSeleccionado, prefijoEtapa, prefijoTipoProy);
                OraDalProyectoMgr.Instancia.Guardar(_proyectoSeleccionado);
                _proyectoNuevo = _proyectoSeleccionado;
                if (_proyectoMaestro.DTipoProyectoPadre == (long)D_COD_TIPO_PROYECTO.PROYECTOS_DE_GENERACIÓN)
                {
                    LocalizacionProyectosGeneracion localizacion = OraDalLocalizacionProyectosGeneracionMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (localizacion != null)
                    {
                        localizacion.EsNuevo    = true;
                        localizacion.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalLocalizacionProyectosGeneracionMgr.Instancia.Guardar(localizacion);
                    }
                }
                else if (_proyectoMaestro.DTipoProyectoPadre == (long)D_COD_TIPO_PROYECTO.PROYECTOS_DE_TRANSMISIÓN)
                {
                    List <LocalizacionProyectosTransmision> listaLocal = OraDalLocalizacionProyectosTransmisionMgr.Instancia.GetListPorPkProyecto(_pkProyecto);
                    foreach (LocalizacionProyectosTransmision local in listaLocal)
                    {
                        local.EsNuevo    = true;
                        local.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalLocalizacionProyectosTransmisionMgr.Instancia.Guardar(local);
                    }
                }

                switch (_proyectoMaestro.DTipoProyecto)
                {
                case (long)D_COD_TIPO_PROYECTO.HIDROELÉCTRICO:     //hidrologico
                    DatoTecnicoHidroelectrico datoTec = OraDalDatoTecnicoHidroelectricoMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (datoTec != null)
                    {
                        long pkDatoTecnico = datoTec.PkDatoTecHidroelectrico;
                        datoTec.EsNuevo    = true;
                        datoTec.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoHidroelectricoMgr.Instancia.Guardar(datoTec);

                        List <VolumenVsArea> listaVolumenArea = OraDalVolumenVsAreaMgr.Instancia.GetListPorPkDatoTecnico(pkDatoTecnico);
                        foreach (VolumenVsArea item in listaVolumenArea)
                        {
                            item.EsNuevo = true;
                            item.FkDatoTecHidroelectrico = datoTec.PkDatoTecHidroelectrico;
                            OraDalVolumenVsAreaMgr.Instancia.Guardar(item);
                        }

                        List <VolumenVsFactorDeProduccion> listaVolumenProduccion = OraDalVolumenVsFactorDeProduccionMgr.Instancia.GetListPorPkDatoTecnico(pkDatoTecnico);
                        foreach (VolumenVsFactorDeProduccion item in listaVolumenProduccion)
                        {
                            item.EsNuevo = true;
                            item.FkDatoTecHidroelectrico = datoTec.PkDatoTecHidroelectrico;
                            OraDalVolumenVsFactorDeProduccionMgr.Instancia.Guardar(item);
                        }
                    }
                    List <SerieHidrologica> listaSerie = OraDalSerieHidrologicaMgr.Instancia.GetSeriesDePkProyecto(_pkProyecto);
                    foreach (SerieHidrologica item in listaSerie)
                    {
                        item.EsNuevo    = true;
                        item.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalSerieHidrologicaMgr.Instancia.Guardar(item);
                    }

                    CopiarDatosEconomicos();
                    CopiarDatosTransAsociadaAlProyecto();
                    CopiarDatosReduccionEmisiones();


                    break;

                case (long)D_COD_TIPO_PROYECTO.TURBINAS:                //turbina
                case (long)D_COD_TIPO_PROYECTO.TÉRMICO_CICLO_COMBINADO: //ciclo combinado
                    DatoTecnicoTurbina dato = OraDalDatoTecnicoTurbinaMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (dato != null)
                    {
                        dato.EsNuevo    = true;
                        dato.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoTurbinaMgr.Instancia.Guardar(dato);
                    }
                    CopiarDatosEconomicos();
                    CopiarDatosTransAsociadaAlProyecto();
                    CopiarDatosReduccionEmisiones();
                    break;

                case (long)D_COD_TIPO_PROYECTO.MOTORES:
                case (long)D_COD_TIPO_PROYECTO.TÉRMICO_A_DIESEL:     //motores y diesel
                    DatoTecnicoMotorDiesel datoDiesel = OraDalDatoTecnicoMotorDieselMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (datoDiesel != null)
                    {
                        datoDiesel.EsNuevo    = true;
                        datoDiesel.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoMotorDieselMgr.Instancia.Guardar(datoDiesel);
                    }
                    CopiarDatosEconomicos();
                    CopiarDatosTransAsociadaAlProyecto();
                    CopiarDatosReduccionEmisiones();
                    break;

                case (long)D_COD_TIPO_PROYECTO.TÉRMICO_A_DUAL_FUEL:     //dual fuel
                    DatoTecnicoDualFuel datoDual = OraDalDatoTecnicoDualFuelMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (datoDual != null)
                    {
                        datoDual.EsNuevo    = true;
                        datoDual.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoDualFuelMgr.Instancia.Guardar(datoDual);
                    }
                    CopiarDatosEconomicos();
                    CopiarDatosTransAsociadaAlProyecto();
                    CopiarDatosReduccionEmisiones();
                    break;

                case (long)D_COD_TIPO_PROYECTO.GEOTÉRMICO:    //Geotermico
                    DatoTecnicoGeotermico datoGeo = OraDalDatoTecnicoGeotermicoMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (datoGeo != null)
                    {
                        datoGeo.EsNuevo    = true;
                        datoGeo.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoGeotermicoMgr.Instancia.Guardar(datoGeo);
                    }
                    CopiarDatosEconomicos();
                    CopiarDatosTransAsociadaAlProyecto();
                    CopiarDatosReduccionEmisiones();
                    break;

                case (long)D_COD_TIPO_PROYECTO.BIOMASA:    //Biomasa
                    DatoTecnicoBiomasa datoBio = OraDalDatoTecnicoBiomasaMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (datoBio != null)
                    {
                        datoBio.EsNuevo    = true;
                        datoBio.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoBiomasaMgr.Instancia.Guardar(datoBio);
                    }
                    CopiarDatosEconomicos();
                    CopiarDatosTransAsociadaAlProyecto();
                    CopiarDatosReduccionEmisiones();
                    break;

                case (long)D_COD_TIPO_PROYECTO.EÓLICO:    //Eolico -solar
                case (long)D_COD_TIPO_PROYECTO.SOLAR:
                    DatoTecnicoEolicoSolar datoEolico = OraDalDatoTecnicoEolicoSolarMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (datoEolico != null)
                    {
                        datoEolico.EsNuevo    = true;
                        datoEolico.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoEolicoSolarMgr.Instancia.Guardar(datoEolico);
                        List <GeneracionProbableEolicoSolar> lista = OraDalGeneracionProbableEolicoSolarMgr.Instancia.GetListPorPkProyecto(_pkProyecto);
                        foreach (GeneracionProbableEolicoSolar item in lista)
                        {
                            item.EsNuevo    = true;
                            item.FkProyecto = _proyectoNuevo.PkProyecto;
                            OraDalGeneracionProbableEolicoSolarMgr.Instancia.Guardar(item);
                        }
                    }
                    CopiarDatosEconomicos();
                    CopiarDatosTransAsociadaAlProyecto();
                    CopiarDatosReduccionEmisiones();
                    break;

                case (long)D_COD_TIPO_PROYECTO.LINEA_DE_TRANSMISIÓN:    //linea transmision
                    DatoTecnicoLineaTransmision datoLinea = OraDalDatoTecnicoLineaTransmisionMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (datoLinea != null)
                    {
                        datoLinea.EsNuevo    = true;
                        datoLinea.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoLineaTransmisionMgr.Instancia.Guardar(datoLinea);
                    }
                    CopiarDatosEconomicos();
                    break;

                case (long)D_COD_TIPO_PROYECTO.TRANSFORMADOR:    // transformador
                    DatoTecnicoTransformador datoTrans = OraDalDatoTecnicoTransformadorMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (datoTrans != null)
                    {
                        datoTrans.EsNuevo       = true;
                        datoTrans.FkCodProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoTransformadorMgr.Instancia.Guardar(datoTrans);
                    }
                    CopiarDatosEconomicos();
                    break;

                case (long)D_COD_TIPO_PROYECTO.CAPACITOR:    // capacitor
                    DatoTecnicoCapacitor datoCap = OraDalDatoTecnicoCapacitorMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (datoCap != null)
                    {
                        datoCap.EsNuevo    = true;
                        datoCap.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoCapacitorMgr.Instancia.Guardar(datoCap);
                    }
                    CopiarDatosEconomicos();
                    break;

                case (long)D_COD_TIPO_PROYECTO.REACTOR:    // reactor
                    DatoTecnicoReactor datoReac = OraDalDatoTecnicoReactorMgr.Instancia.GetPorPkProyecto(_pkProyecto);
                    if (datoReac != null)
                    {
                        datoReac.EsNuevo    = true;
                        datoReac.FkProyecto = _proyectoNuevo.PkProyecto;
                        OraDalDatoTecnicoReactorMgr.Instancia.Guardar(datoReac);
                    }
                    CopiarDatosEconomicos();
                    break;

                default:
                    break;
                }
                DialogResult = DialogResult.OK;
            }
        }
        public void Guardar(DatoTecnicoHidroelectrico obj)
        {
            OracleCommand cmd = null;
            string        sql = string.Empty;

            if (obj.EsNuevo)
            {
                Pista p = PistaMgr.Instance.Info("DALProyectos", obj.GetEstadoString());
                obj.SecLog = (long)p.PK_SecLog;
                obj.PkDatoTecHidroelectrico = GetIdAutoNum("SQ_F_PR_DATO_TEC_HIDROELEC");
                sql = "INSERT INTO {0} ({1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19})" +
                      "VALUES(:{1},:{2},:{3},:{4},:{5},:{6},:{7},:{8},:{9},:{10},:{11},:{12},:{13},:{14},:{15},:{16},:{17},:{18},:{19})";
            }
            else
            {
                sql = "UPDATE {0} SET " +
                      "{2}=:{2} ," +
                      "{3}=:{3} ," +
                      "{4}=:{4} ," +
                      "{5}=:{5} ," +
                      "{6}=:{6} ," +
                      "{7}=:{7} ," +
                      "{8}=:{8} ," +
                      "{9}=:{9} ," +
                      "{10}=:{10} ," +
                      "{11}=:{11} ," +
                      "{12}=:{12} ," +
                      "{13}=:{13} ," +
                      "{14}=:{14} ," +
                      "{15}=:{15} ," +
                      "{16}=:{16} ," +
                      "{17}=:{17} ," +
                      "{18}=:{18} ," +
                      "{19}=:{19}  WHERE {1}=:{1} ";
            }

            sql = string.Format(sql, DatoTecnicoHidroelectrico.NOMBRE_TABLA, DatoTecnicoHidroelectrico.C_PK_DATO_TEC_HIDROELECTRICO,
                                DatoTecnicoHidroelectrico.C_FK_PROYECTO,
                                DatoTecnicoHidroelectrico.C_POTENCIA_INSTALADA,
                                DatoTecnicoHidroelectrico.C_NRO_UNIDADES,
                                DatoTecnicoHidroelectrico.C_D_COD_TURBINA_HIDROELECTRICA,
                                DatoTecnicoHidroelectrico.C_CAUDAL_DISENO,
                                DatoTecnicoHidroelectrico.C_CUENCA,
                                DatoTecnicoHidroelectrico.C_FK_PROY_VERTIMIENTO,
                                DatoTecnicoHidroelectrico.C_FK_PROY_TURBINAMIENTO,
                                DatoTecnicoHidroelectrico.C_GENERACION_MEDIA_ANUAL,
                                DatoTecnicoHidroelectrico.C_FACTOR_PRODUCTIVIDAD,
                                DatoTecnicoHidroelectrico.C_CAIDA_BRUTA,
                                DatoTecnicoHidroelectrico.C_VOLUMEN_TOTAL,
                                DatoTecnicoHidroelectrico.C_AREA_CUENCA,
                                DatoTecnicoHidroelectrico.C_OBSERVACIONES,
                                DatoTecnicoHidroelectrico.C_FK_PROY_INFILTRACION,
                                DatoTecnicoHidroelectrico.C_SEC_LOG,
                                DatoTecnicoHidroelectrico.C_FECHA_REGISTRO,
                                DatoTecnicoHidroelectrico.C_VOLUMEN_UTIL);
            cmd             = CrearCommand();
            cmd.CommandText = sql;
            cmd.BindByName  = true;

            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_PK_DATO_TEC_HIDROELECTRICO, OracleDbType.Int64, obj.PkDatoTecHidroelectrico, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_FK_PROYECTO, OracleDbType.Int64, obj.FkProyecto, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_POTENCIA_INSTALADA, OracleDbType.Double, obj.PotenciaInstalada, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_NRO_UNIDADES, OracleDbType.Int64, obj.NroUnidades, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_D_COD_TURBINA_HIDROELECTRICA, OracleDbType.Int64, obj.DCodTurbinaHidroelectrica, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_CAUDAL_DISENO, OracleDbType.Double, obj.CaudalDiseno, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_CUENCA, OracleDbType.Varchar2, obj.Cuenca, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_FK_PROY_VERTIMIENTO, OracleDbType.Int64, obj.FkProyVertimiento, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_FK_PROY_TURBINAMIENTO, OracleDbType.Int64, obj.FkProyTurbinamiento, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_GENERACION_MEDIA_ANUAL, OracleDbType.Double, obj.GeneracionMediaAnual, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_FACTOR_PRODUCTIVIDAD, OracleDbType.Double, obj.FactorProductividad, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_CAIDA_BRUTA, OracleDbType.Double, obj.CaidaBruta, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_VOLUMEN_TOTAL, OracleDbType.Double, obj.VolumenTotal, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_AREA_CUENCA, OracleDbType.Double, obj.AreaCuenca, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_OBSERVACIONES, OracleDbType.Varchar2, obj.Observaciones, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_FK_PROY_INFILTRACION, OracleDbType.Double, obj.FkProyInfiltracion, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_SEC_LOG, OracleDbType.Int64, obj.SecLog, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_FECHA_REGISTRO, OracleDbType.Date, obj.FechaDeRegistro, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(DatoTecnicoHidroelectrico.C_VOLUMEN_UTIL, OracleDbType.Double, obj.VolumenUtil, System.Data.ParameterDirection.Input);

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