public JsonResult GetForecast(ForecastRetrieveDTO forecastDTO) { GenericResponse responseObj = null; int timeStart = DateTime.Now.TimeOfDay.Seconds; try { string userName = new AuthWorker(Options.OAuthUrl, Options.OAuthRedirectUrl, Options.OAuthSecret, Options.OAuthAppId).GetUserInfo(forecastDTO.authToken).username; if(userName == null) throw new Sequencing.WeatherApp.Controllers.DaoLayer.ApplicationException(string.Format("Invalid access token {0}", forecastDTO.authToken)); AppChainResults acr = new AppChainResults { MelanomaAppChainResult = forecastDTO.melanomaRisk, VitDAppChainResult = forecastDTO.vitaminD }; var _s = new PersonalizedRecommendationsWorker().GetRecommendation(forecastDTO.forecastRequest, acr, userName, forecastDTO.appId); responseObj = new GenericResponse() { Status = 0, ResponseTime = DateTime.Now.TimeOfDay.Seconds - timeStart, Message = "Genetically tailored forecast successfully retrieved", Data = _s, }; return Json(responseObj, JsonRequestBehavior.AllowGet); } catch (Exception e) { responseObj = new GenericResponse() { Status = 1, ResponseTime = DateTime.Now.TimeOfDay.Milliseconds - timeStart, Message = e.Message, Data = "Personalization is not possible due to insufficient genetic data in the selected file. Choose a different genetic data file.", }; ExternalSettingsController.ResponseLogging(responseObj); return Json(responseObj, JsonRequestBehavior.AllowGet); } }
public JsonResult ChangeNotification(bool emailChk, bool smsChk, string email, string phone, string wakeupDay, string wakeupEnd, string timezoneSelect, string timezoneOffset, WeekEndMode weekendMode, TemperatureMode temperature, string token, string countryCode) { GenericResponse responseObj = null; int timeStart = DateTime.Now.TimeOfDay.Seconds; try { string name = oauthFactory.GetOAuthTokenDao().getUser(token).username; if (name != null) { SendInfo info = new SendInfo() { UserName = name, SendEmail = emailChk, SendSms = smsChk, UserEmail = email, UserPhone = phone, TimeWeekDay = wakeupDay, TimeWeekEnd = wakeupEnd, TimeZoneValue = timezoneSelect, WeekendMode = weekendMode, Temperature = temperature, CountryCode = countryCode, }; if (!string.IsNullOrEmpty(timezoneOffset)) info.TimeZoneOffset = settingsService.ParseTimeZoneOffset(timezoneOffset); settingsService.UpdateUserSettings(info); } responseObj = new GenericResponse() { Status = 0, ResponseTime = DateTime.Now.TimeOfDay.Seconds - timeStart, Message = "Settings successfully updated for user: "+ name, Data = null, }; return Json(responseObj, JsonRequestBehavior.AllowGet); } catch (Exception e) { responseObj = new GenericResponse() { Status = 1, ResponseTime = DateTime.Now.TimeOfDay.Milliseconds - timeStart, Message = e.Message, Data = null, }; ResponseLogging(responseObj); return Json(responseObj, JsonRequestBehavior.AllowGet); } }
public static void ResponseLogging(GenericResponse responseObj) { log.ErrorFormat(string.Format("Response object: [Status = {0}, ResponseTime = {1}, Message = {2}, Data = {3}]", responseObj.Status, responseObj.ResponseTime, responseObj.Message, responseObj.Data)); }
public JsonResult SubscribePushNotification(PushSubscribeDTO pushDTO) { GenericResponse responseObj = null; int timeStart = DateTime.Now.TimeOfDay.Seconds; try { if (pushDTO.pushCheck) pushService.Subscribe(pushDTO.deviceToken, pushDTO.deviceType, pushDTO.accessToken, pushDTO.appType); else { string userName = new AuthWorker(Options.OAuthUrl, Options.OAuthRedirectUrl, Options.OAuthSecret, Options.OAuthAppId).GetUserInfo(pushDTO.accessToken).username; if (userName != null) { var userId = factory.GetDeviceTokenDao().GetUserIdByName(userName); pushService.Unsubscribe(pushDTO.deviceToken, userId); } else throw new Sequencing.WeatherApp.Controllers.DaoLayer.ApplicationException(string.Format("Invalid access token {0}", pushDTO.accessToken)); } responseObj = new GenericResponse() { Status = 0, ResponseTime = DateTime.Now.TimeOfDay.Seconds - timeStart, Message = "Push notification successfully " + (pushDTO.pushCheck ? "subscribed" : "unsubscribed"), Data = null, }; return Json(responseObj, JsonRequestBehavior.AllowGet); } catch (Exception e) { responseObj = new GenericResponse() { Status = 1, ResponseTime = DateTime.Now.TimeOfDay.Seconds - timeStart, Message = e.Message, Data = null, }; ResponseLogging(responseObj); return Json(responseObj, JsonRequestBehavior.AllowGet); } }
public JsonResult SaveLocation(string city, string token) { GenericResponse responseObj = null; int timeStart = DateTime.Now.TimeOfDay.Seconds; try { settingsService.SetUserLocationExt(city, token); responseObj = new GenericResponse() { Status = 0, ResponseTime = DateTime.Now.TimeOfDay.Seconds - timeStart, Message = "Location successfully updated", Data = null, }; return Json(responseObj, JsonRequestBehavior.AllowGet); } catch (Exception e) { responseObj = new GenericResponse() { Status = 1, ResponseTime = DateTime.Now.TimeOfDay.Seconds - timeStart, Message = e.Message, Data = null, }; ResponseLogging(responseObj); return Json(responseObj, JsonRequestBehavior.AllowGet); } }
public JsonResult RetrieveUserSettings(SettingsRetrieveDTO settingsDTO) { GenericResponse responseObj = null; int timeStart = DateTime.Now.TimeOfDay.Seconds; SendInfo info = null; try { info = settingsService.RetrieveSettings(settingsDTO); string message = settingsService.DeviceTokenSetting(settingsDTO, info.Id); responseObj = new GenericResponse() { Status = 0, ResponseTime = DateTime.Now.TimeOfDay.Seconds - timeStart, Message = message, Data = info, }; return Json(responseObj, JsonRequestBehavior.AllowGet); } catch (Exception e) { responseObj = new GenericResponse() { Status = 1, ResponseTime = DateTime.Now.TimeOfDay.Seconds - timeStart, Message = e.Message, Data = info, }; ResponseLogging(responseObj); return Json(responseObj, JsonRequestBehavior.AllowGet); } }