Exemplo n.º 1
0
        public FormListViewModel()
        {
            Title            = "Forms";
            Forms            = new ObservableCollection <Form>();
            LoadItemsCommand = new Command(async() => await ExecuteLoadItemsCommand());

            MessagingCenter.Subscribe <NewFormPage, Form>(this, "AddForm", async(obj, form) =>
            {
                var newForm = form as Form;
                Forms.Add(newForm);
                await DataStore.AddFormAsync(newForm);
            });

            MessagingCenter.Subscribe <ChartPage, Form>(this, "RemoveForm", async(obj, form) =>
            {
                var newForm = form as Form;
                Forms.Remove(newForm);
                await DataStore.DeleteFormAsync(newForm.Id);
            });

            MessagingCenter.Subscribe <DataEntryPage, Entry>(this, "AddEntry", async(obj, entry) =>
            {
                var newEntry = entry as Entry;
                Form form    = await DataStore.GetFormAsync(newEntry.FormID);
                form.XFormValues.Add(entry.Val1);
                form.YFormValues.Add(entry.Val2);
                form.EntryCount++;
                form.EntryCountString = form.EntryCount.ToString() + " entries";
                if (form.EntryCount == 1)
                {
                    form.EntryCountString = form.EntryCount.ToString() + " entry";
                }
                else
                {
                    form.EntryCountString = form.EntryCount.ToString() + " entries";
                }
                await DataStore.UpdateFormAsync(form);

//                Forms.Add(newForm);
//               await DataStore.AddFormAsync(newForm);
            });
        }