internal void SendMeasurements() { if (this.Weight.HasValue) { aladdinService.StorageComponent sc = new aladdinService.StorageComponent(); aladdinService.Measurement Measurement = new aladdinService.Measurement(); Measurement.DateTime = System.DateTime.Now; Measurement.TaskID = this.ActiveTask.ID; aladdinService.SystemParameter measurementType = new aladdinService.SystemParameter(); measurementType.Code = Convert.ToString((int)MeasurementTypeEnum.Weight); measurementType.Description = "Weight"; Measurement.Type = measurementType; Measurement.Value = this.Weight.Value; Measurement.Units = "Kg"; Measurement.LowerLimitSpecified = false; Measurement.UpperLimitSpecified = false; aladdinService.Measurement[] data = new aladdinService.Measurement[] { Measurement }; aladdinService.OperationResult res = sc.StoreMeasurements(data, App.CurrentUserID); if (res.Status == 1) { aladdinService.OperationResult taskChangeStatus = sc.ChangeTaskStatus(Convert.ToInt32(this.ActiveTask.ID), (int)TaskStatusEnum.Completed, App.CurrentUserID); } AppCommands.MoveToPageCommand.Execute("MyTasksPage", null); } }
private void Authenticate() { using (aladdinService.StorageComponent sc = new aladdinService.StorageComponent()) { Cursor = Cursors.Wait; try { aladdinService.OperationResult res = sc.Auth(this.UserName, this.Password); if (res.Code == "-2") this.txtMessage.Text = res.Description; else if (res.Code != "0") { App.CurrentUserID = res.Code; aladdinService.User currentUser = sc.GetUser(App.CurrentUserID); App.CurrentUserName = currentUser.Username; App.IsUserAuthenticated = true; App.PatientID = FindPatientID(); if (App.PatientID.Equals(string.Empty)) MessageBox.Show("No unique patient related to this account", "ALADDIN"); AppCommands.MoveToPageCommand.Execute("StartPage", this); } else this.txtMessage.Text = App.LoginErrorMessage; } catch (Exception ex) { this.txtMessage.Text = ex.Message; } Cursor = Cursors.Arrow; } }
public ExternalServicePageViewModel(aladdinService.Task activeTask) { this.ActiveTask = activeTask; if (this.ActiveTask != null && this.ActiveTask.URL != null) { this.Url = this.ActiveTask.URL; this.Text = this.ActiveTask.Text; using (aladdinService.StorageComponent sc = new aladdinService.StorageComponent()) { aladdinService.OperationResult taskChangeStatus = sc.ChangeTaskStatus(Convert.ToInt32(this.ActiveTask.ID), (int)TaskStatusEnum.Completed, App.CurrentUserID); } } }
public ContactUsPage() { aladdinService.StorageComponent sc = new aladdinService.StorageComponent(); aladdinService.SystemParameter[] _contactSituations = sc.GetSystemParameterList((int)SystemParameterEnum.ContactReason, App.DefaultLocale); if (_contactSituations != null) this.ContactSituations = _contactSituations.ToList(); else { _contactSituations = sc.GetSystemParameterList((int)SystemParameterEnum.ContactReason, App.DefaultLocale); if (_contactSituations != null) this.ContactSituations = _contactSituations.ToList(); } this.DataContext = this; InitializeComponent(); }
private void Button_Click(object sender, RoutedEventArgs e) { using (aladdinService.StorageComponent sc = new aladdinService.StorageComponent()) { aladdinService.Warning userWarning = new aladdinService.Warning(); userWarning.DateTimeOfWarning = System.DateTime.Now; aladdinService.SystemParameter typeOfWarning = new aladdinService.SystemParameter(); typeOfWarning.Code = "1"; typeOfWarning.Description = "Manual"; userWarning.TypeOfWarning = typeOfWarning; aladdinService.SystemParameter situation = this.SituationComboBox.SelectedItem as aladdinService.SystemParameter; string situationStr = ""; if (situation != null) situationStr = situation.Description; userWarning.JustificationText = string.Format("Situation:{0}, Description:{1}", situationStr, this.DescriptionBox.Text); aladdinService.Patient patient = new aladdinService.Patient(); patient.ID = App.PatientID; userWarning.Patient = patient; aladdinService.OperationResult res = sc.SaveWarning(userWarning, App.CurrentUserID); AppCommands.MoveToPageCommand.Execute("StartPage", null); } }
private string FindPatientID() { using (aladdinService.StorageComponent sc = new aladdinService.StorageComponent()) { aladdinService.PatientInfo[] myPatients = sc.GetPatientsForCaregiver(App.CurrentUserID); if (myPatients!= null && myPatients.Count() == 1) return myPatients[0].ID; else return string.Empty; } }
internal void SendMeasurements() { if (this.Activity.Length > 0) { aladdinService.StorageComponent sc = new aladdinService.StorageComponent(); aladdinService.SystemParameter measurementType = new aladdinService.SystemParameter(); List<aladdinService.Measurement> dataList = new List<aladdinService.Measurement>(); // We use a dynamic array first, we still don't know how many (new) measurments we have to submit measurementType.Code = Convert.ToString((int)MeasurementTypeEnum.Activity); measurementType.Description = "Activity"; List<string> dateLog = new List<string>(); // List of days for which we have already sent the data (history) List<string> dateLogNew = new List<string>(); // List of days for which we have new data to send (will be added to the history at the end) string date; // Load the history string logFile = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\activity.log"; if (File.Exists(logFile)) { StreamReader r = new StreamReader(logFile); while ((date = r.ReadLine()) != null) dateLog.Add(date); r.Close(); } for (int day = 0; day < MAX_DAY; ++day) { for (int hour = 0; hour < 24; ++hour) { // Build the timestamp of this measurement DateTime dt = new DateTime(System.DateTime.Now.Year, System.DateTime.Now.Month, System.DateTime.Now.Day, hour, 0, 0, 0); dt = dt.AddDays(-1 - day); // Process the measurement only if its day is not present in the history if (dateLog.IndexOf(String.Format("{0:d/M/yyyy}", dt)) == -1) { aladdinService.Measurement Measurement = new aladdinService.Measurement(); Measurement.DateTime = dt; Measurement.TaskID = this.ActiveTask.ID; Measurement.Type = measurementType; Measurement.Value = this.Activity[day, hour]; Measurement.Units = "steps/day"; Measurement.LowerLimitSpecified = false; Measurement.UpperLimitSpecified = false; dataList.Add(Measurement); // Update the list of days with new data date = String.Format("{0:d/M/yyyy}", dt); if (dateLogNew.IndexOf(date) == -1) dateLogNew.Add(date); } } } // Create an array (StoreMeasurements requires an array parameter) with the right size and fill it with the measurements aladdinService.Measurement[] data = new aladdinService.Measurement[dataList.Count()]; for (int i = 0; i < dataList.Count(); ++i) data[i] = dataList[i]; // Save measuremnts in a local .csv file /* StreamWriter sw2; sw2 = File.CreateText("aladdin_activity.csv"); for (int i = 0; i < dataList.Count(); ++i) { sw2.Write("'" + data[i].DateTime.ToString() + "',"); sw2.WriteLine("'" + data[i].Value.ToString() + "'"); } sw2.Close(); */ aladdinService.OperationResult res = sc.StoreMeasurements(data, App.CurrentUserID); if (res.Status == 1) { aladdinService.OperationResult taskChangeStatus = sc.ChangeTaskStatus(Convert.ToInt32(this.ActiveTask.ID), (int)TaskStatusEnum.Completed, App.CurrentUserID); // Update the history StreamWriter sw; sw = File.AppendText(logFile); foreach (string s in dateLogNew) sw.WriteLine(s); sw.Close(); } AppCommands.MoveToPageCommand.Execute("MyTasksPage", null); } }
internal void UploadQuestionnaire() { string xml = this.QuestionnaireAnswers.ToXml(); aladdinService.StorageComponent sc = new aladdinService.StorageComponent(); aladdinService.QuestionnaireAnswers answers = Utils.Convert(this.QuestionnaireAnswers); answers.DateTime = this.ActiveTask.DateTimeAssigned; answers.DateTimeSpecified = true; answers.UserID = App.CurrentUserID; answers.ObjectID = this.ActiveTask.ObjectID; answers.TaskID = this.ActiveTask.ID; //answers.ID = this.ActiveTask.Questionnaire.ID; aladdinService.OperationResult res = sc.StoreQuestionnaireAnswers(answers, App.CurrentUserID); res = sc.ChangeTaskStatus(Convert.ToInt32(this.ActiveTask.ID), (int)TaskStatusEnum.Completed, App.CurrentUserID); AppCommands.MoveToPageCommand.Execute("MyTasksPage", null); }
private void GetMyTasks() { Cursor = Cursors.Wait; try { this.TaskPanel.Children.Clear(); aladdinService.StorageComponent sc = new aladdinService.StorageComponent(); DateTime today = System.DateTime.Now; DateTime yesterday = DateTime.Now.AddDays(-1); DateTime dateFrom = new DateTime(yesterday.Year, yesterday.Month, yesterday.Day, 0, 0, 0); DateTime dateTo = new DateTime(today.Year, today.Month, today.Day, 23, 59, 59); App.ActiveTasks = sc.GetUserPlannedTasks(App.CurrentUserID, dateFrom, dateTo, App.DefaultLocale, App.CurrentUserID).ToList(); // fix for different time zones foreach (var item in App.ActiveTasks) { item.DateTimeAssigned = item.DateTimeAssigned.AddHours(3); } // Remove canceled tasks App.ActiveTasks = App.ActiveTasks.Where(c => Convert.ToInt32(c.TaskStatus.Code) != (int) TaskStatusEnum.Canceled).ToList(); // Remove tasks assigned the day before, if completed string[] yesterdaysCompletedTasksIDs = App.ActiveTasks.Where(c => c.DateTimeAssigned.Year == dateFrom.Year && c.DateTimeAssigned.Month == dateFrom.Month && c.DateTimeAssigned.Day == dateFrom.Day && (Convert.ToInt32(c.TaskStatus.Code) == (int)TaskStatusEnum.Completed || Convert.ToInt32(c.TaskType.Code) == (int)TaskTypesEnum.Message)).Select(c => c.ID).ToArray(); if (yesterdaysCompletedTasksIDs.Length > 0) App.ActiveTasks = App.ActiveTasks.Where(c => !yesterdaysCompletedTasksIDs.Contains(c.ID)).ToList(); int num = 1; foreach (aladdinService.Task task in App.ActiveTasks) { TaskControl taskControl = new TaskControl(); taskControl.Task = task; taskControl.Number = num++; taskControl.Date = task.DateTimeAssigned.ToShortDateString(); int taskType = Convert.ToInt32(task.TaskType.Code); switch (taskType) { case (int)TaskTypesEnum.PatientQuestionnaire: taskControl.SetResourceReference(TaskControl.TitleProperty, "PatientQuestionnaireTaskTitle"); break; case (int)TaskTypesEnum.CarerQuestionnaire: taskControl.SetResourceReference(TaskControl.TitleProperty, "CarerQuestionnaireTaskTitle"); break; case (int)TaskTypesEnum.BloodPressureMeasurement: taskControl.SetResourceReference(TaskControl.TitleProperty, "MeasureBloodPressureTaskTitle"); break; case (int)TaskTypesEnum.WeightMeasurement: taskControl.SetResourceReference(TaskControl.TitleProperty, "MeasureWeightTaskTitle"); break; case (int)TaskTypesEnum.CognitiveGame: taskControl.SetResourceReference(TaskControl.TitleProperty, "PlayGamesTaskTitle"); break; case (int)TaskTypesEnum.ActivityMonitor: taskControl.SetResourceReference(TaskControl.TitleProperty, "MeasureActivityTaskTitle"); break; case (int)TaskTypesEnum.Exercise: taskControl.SetResourceReference(TaskControl.TitleProperty, "ExerciseTaskTitle"); break; case (int)TaskTypesEnum.Message: taskControl.SetResourceReference(TaskControl.TitleProperty, "MessageTitle"); break; default: break; } int taskStatus = Convert.ToInt32(task.TaskStatus.Code); switch (taskStatus) { case (int)TaskStatusEnum.Pending: taskControl.IsPending = true; break; case (int)TaskStatusEnum.Completed: taskControl.IsPending = false; break; default: break; } this.TaskPanel.Children.Add(taskControl); } } catch (Exception ex) { string msg = ex.Message; } Cursor = Cursors.Arrow; }
private void LoadContent() { // Load Content... using (aladdinService.StorageComponent sc = new aladdinService.StorageComponent()) { aladdinService.SearchCriteria sc1 = new aladdinService.SearchCriteria(); sc1.FieldName = "category"; sc1.FieldValue1 = "education"; sc1.CompareOp = new aladdinService.SystemParameter(); sc1.CompareOp.Code = "3"; aladdinService.SearchCriteria sc2 = new aladdinService.SearchCriteria(); sc2.FieldName = "enabled"; sc2.FieldValue1 = "true"; sc2.CompareOp = new aladdinService.SystemParameter(); sc2.CompareOp.Code = "3"; EducationContent = sc.GetMediaContent(new aladdinService.SearchCriteria[] { sc1, sc2 }, null); sc1.FieldValue1 = "games"; GamesContent = sc.GetMediaContent(new aladdinService.SearchCriteria[] { sc1, sc2 }, null); sc1.FieldValue1 = "entertainment"; EntertainmentContent = sc.GetMediaContent(new aladdinService.SearchCriteria[] { sc1, sc2 }, null); } }