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;
        }
Exemplo n.º 10
0
 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);
     }
 }