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); }