public String RegisterSPL(String UserID, double SPL, String GPS, String Weather, double Windspeed, int Winddirection) { int BossID = Database.GetBossID(UserID); string phone; string message; if (WindDirection.WindDoesNotExist(Winddirection) || BossID <= -1) { return("Error"); } try { phone = Database.GetManagerPhone(UserID); } catch (FormatException ex) { return("Error"); } message = "User " + UserID + " has exceeded the safe level of dBa; caution is advised. User Information:\n\n" + Database.GetUserInformation(UserID); Database.RecordSPL(UserID, BossID, SPL, GPS, Weather, ref shouldSend, Windspeed, Winddirection); if (SPL > OSHA) { SendToPhone(phone, message); } if (shouldSend) { SendToPhone(phone, "User " + UserID + " has continued to stay in location: " + GPS); } return(Database.GetVibrationBasedOnSPL(BossID, SPL)); }
public String RegisterSPL(String UserID, double SPL, String GPS, String Weather, double Windspeed, int Winddirection) { int BossID = Database.GetBossID(UserID); // company id string phone; // managers phonen umber string message; // message for SMS if (WindDirection.WindDoesNotExist(Winddirection)) { return("Error: Wind direction does not exist!"); } if (BossID <= -1) { return("Error: User is not registered under any company!"); } try { phone = Database.GetManagerPhone(UserID); } catch (FormatException ex) { return("Error: Database unavailable!"); } message = "User " + UserID + " has exceeded the safe level of dBa; caution is advised. User Information:\n\n" + Database.GetUserInformation(UserID); Database.RecordSPL(UserID, BossID, SPL, GPS, Weather, ref shouldSend, Windspeed, Winddirection); int companySPL = Database.GetSPL_Type(BossID); if (companySPL >= 0 && SPL >= companySPL) // if company has chosen SPL type, and spl has surpassed the limit, send SMS { new Thread(() => SendToPhone(phone, message)).Start(); if (shouldSend) // if user in same location twice, send same location message { new Thread(() => SendToPhone(phone, "User " + UserID + " has continued to stay in location: " + GPS)).Start(); } } // if spl >= companySPL then send fast alert since attention is crucial, otherwise send vibration pattern set by company. return(SPL >= companySPL?Vibrations.GetVibrationPattern(Vibrations.VibrationTypes.FastAlert) ?? Database.GetVibrationBasedOnSPL(BossID, SPL) : Database.GetVibrationBasedOnSPL(BossID, SPL)); }