Exemple #1
0
 public override void update()
 {
     if (OnOff && ReservoirData.GetValue() > 0)
     {
         ConnectedConduit.SetValue(ReservoirData.GetValue() - ReservoirData.GetValue() * ExpulsionRate * Time.deltaTime);
     }
     base.update();
 }
        private void GenerateReport(bool silent = false)
        {
            ReservoirData Caonillas   = GetReservoirLevel("50026140", 1);
            ReservoirData Carite      = GetReservoirLevel("50039995", 3);
            ReservoirData Carraizo    = GetReservoirLevel("50059000", 2);
            ReservoirData Cerrillos   = GetReservoirLevel("50113950", 2);
            ReservoirData Cidra       = GetReservoirLevel("50047550", 2);
            ReservoirData Fajardo     = GetReservoirLevel("50071225", 1);
            ReservoirData Guajataca   = GetReservoirLevel("50010800", 1);
            ReservoirData LaPlata     = GetReservoirLevel("50045000", 1);
            ReservoirData Patillas    = GetReservoirLevel("50093045", 3);
            ReservoirData RioBlanco   = GetReservoirLevel("50076800", 1);
            ReservoirData ToaVaca     = GetReservoirLevel("50111210", 3);
            string        FileName    = "report-" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss-tt") + ".txt";
            StreamWriter  WriteReport = new StreamWriter(FileName, false);

            WriteReport.WriteLine("Hola a todos," + Environment.NewLine);
            WriteReport.WriteLine("A continuación se muestran los niveles de agua de los embalses principales de Puerto Rico para el día de hoy. Reporte " + DateTime.Now.ToString("tt:") + Environment.NewLine);
            WriteReport.WriteLine("Reporte generado a las " + DateTime.Now.ToString("hh:mm tt"));
            WriteReport.WriteLine("# Caonillas");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50026140.jpg</center>");
            if (Convert.ToDouble(Caonillas.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + Caonillas.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetCaonillasAlertLevel(Caonillas.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + Caonillas.getTime());
            }
            WriteReport.WriteLine("# Carite");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50039995.jpg</center>");
            if (Convert.ToDouble(Carite.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + Carite.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetCariteAlertLevel(Carite.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + Carite.getTime());
            }
            WriteReport.WriteLine("# Carraízo");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50059000.jpg</center>");
            if (Convert.ToDouble(Carraizo.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + Carraizo.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetCarraizoAlertLevel(Carraizo.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + Carraizo.getTime());
            }
            WriteReport.WriteLine("# Cerrillos");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50113950.jpg</center>");
            if (Convert.ToDouble(Cerrillos.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + Cerrillos.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetCerrillosAlertLevel(Cerrillos.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + Cerrillos.getTime());
            }
            WriteReport.WriteLine("# Cidra");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50047550.jpg</center>");
            if (Convert.ToDouble(Cidra.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + Cidra.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetCidraAlertLevel(Cidra.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + Cidra.getTime());
            }
            WriteReport.WriteLine("# Fajardo");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50071225.jpg</center>");
            if (Convert.ToDouble(Fajardo.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + Fajardo.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetFajardoAlertLevel(Fajardo.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + Fajardo.getTime());
            }
            WriteReport.WriteLine("# Guajataca");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50010800.jpg</center>");
            if (Convert.ToDouble(Guajataca.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + Guajataca.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetGuajatacaAlertLevel(Guajataca.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + Guajataca.getTime());
            }
            WriteReport.WriteLine("# La Plata");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50045000.jpg</center>");
            if (Convert.ToDouble(LaPlata.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + LaPlata.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetLaPlataAlertLevel(LaPlata.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + LaPlata.getTime());
            }
            WriteReport.WriteLine("# Patillas");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50093045.jpg</center>");
            if (Convert.ToDouble(Patillas.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + Patillas.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetPatillasAlertLevel(Patillas.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + Patillas.getTime());
            }
            WriteReport.WriteLine("# Rio Blanco");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50076800.jpg</center>");
            if (Convert.ToDouble(RioBlanco.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + RioBlanco.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetRioBlancoAlertLevel(RioBlanco.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + RioBlanco.getTime());
            }
            WriteReport.WriteLine("# Toa Vaca");
            WriteReport.WriteLine("<center>https://waterdata.usgs.gov/nwisweb/local/state/pr/text/pics/50111210.jpg</center>");
            if (Convert.ToDouble(ToaVaca.GetCurrentLevel()) == 0.0)
            {
                WriteReport.WriteLine("No se pudo obtener los datos de este embalse.");
            }
            else
            {
                WriteReport.WriteLine("Nivel: " + ToaVaca.GetCurrentLevel() + " metros");
                WriteReport.WriteLine("Nivel de Alerta: " + GetToaVacaAlertLevel(ToaVaca.GetCurrentLevel()));
                WriteReport.WriteLine("Hora de Lectura: " + ToaVaca.getTime() + Environment.NewLine);
            }
            WriteReport.WriteLine("-------------------------------------");
            WriteReport.WriteLine("Imágenes y datos recopilados del USGS (United States Geological Survey) https://usgs.gov" + Environment.NewLine + Environment.NewLine);
            WriteReport.WriteLine("-------------------------------------" + Environment.NewLine);
            WriteReport.WriteLine("¡Mantente al día de las condiciones de los embalses descargando el app \"Embalses de Puerto Rico\" disponible para Android!");
            WriteReport.WriteLine("https://play.google.com/store/apps/details?id=msc.app.embalsespuertorico" + Environment.NewLine);
            WriteReport.WriteLine("-------------------------------------");
            WriteReport.WriteLine("Este reporte fue generado por el programa de @moisesmcardona. Si este reporte te ha parecido informativo, considera votar a @moisesmcardona como Witness. [Lee más aquí sobre mi witness y como votar.](https://steemit.com/witness/@moisesmcardona/witness-espanol)");
            WriteReport.Close();
            PublishReport(FileName, silent, DateTime.Now);
        }