Пример #1
0
        public void handleReply(string json)
        {
            if (json == null)
            {
                Deployment.Current.Dispatcher.BeginInvoke(() =>
                {
                    progressBar1.IsIndeterminate = false;
                    MessageBox.Show("Unable to communicate with server.");
                });
                return;
            }
            DataContractJsonSerializer dcjsSubject = new DataContractJsonSerializer(typeof(SubjectResponse));
            SubjectResponse subject = dcjsSubject.ReadObject(new MemoryStream(Encoding.Unicode.GetBytes(json))) as SubjectResponse;
            Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                tbObjectives.Text = subject.objectivos;
                tbContent.Text = subject.conteudo;
                TeachersViewModel tvm = new TeachersViewModel();
                BiblioViewModel bvm = new BiblioViewModel();
                GenericViewModel svm = new GenericViewModel();

                List<string> teachers = new List<string>();
                for (int i = 0; i < subject.ds.Length; ++i)
                {
                    for (int j = 0; j < subject.ds[i].docentes.Length; ++j)
                    {
                        if (teachers.Contains(subject.ds[i].docentes[j].nome))
                            continue;

                        teachers.Add(subject.ds[i].docentes[j].nome);
                        tvm.Items.Add(new ItemViewModel()
                        {
                            extra = subject.ds[i].docentes[j].doc_codigo.ToString(),
                            LineOne = subject.ds[i].docentes[j].nome,
                        });
                    }
                }
                Deployment.Current.Dispatcher.BeginInvoke(() =>
                {
                    try
                    {
                        for (int i = 0; i < lbTeachers.Items.Count; ++i)
                            TiltEffect.SetIsTiltEnabled(lbTeachers.ItemContainerGenerator.ContainerFromIndex(i), true);
                    }
                    catch { } // Not really important.
                });
                lbTeachers.DataContext = tvm;

                if(subject.bibliografia != null)
                {
                    for (int i = 0; i < subject.bibliografia.Length; ++i)
                    {
                        bvm.Items.Add(new ItemViewModel()
                        {
                            LineOne = subject.bibliografia[i].tipo_descr,

                            LineTwo = (subject.bibliografia[i].autores != null ?  subject.bibliografia[i].autores + "\n" : "")
                                    + (subject.bibliografia[i].titulo != null ? subject.bibliografia[i].titulo + "\n" : "")
                                    + (subject.bibliografia[i].isbn != null ? "ISBN: " + subject.bibliografia[i].isbn : ""),
                        });
                    }
                    lbBibliography.DataContext = bvm;
                }
                if (subject.software != null)
                {
                    foreach (Software s in subject.software)
                    {
                        if (s.nome == "" && s.descricao != "")
                        {
                            s.nome = s.descricao;
                            s.descricao = "";
                        }
                        svm.Items.Add(new ItemViewModel()
                        {
                            LineOne = s.nome,
                            LineTwo = s.descricao,
                        });
                    }
                }
                else
                {
                    svm.Items.Add(new ItemViewModel() { LineOne = "No data" });
                }
                lbSoftware.DataContext = svm;

                tbMetodology.Text = subject.metodologia == null ? "No data" : subject.metodologia;
                tbExam.Text = subject.cond_frequencia == null ? "No data" : subject.cond_frequencia;
                tbFinalGrade.Text = subject.for_avaliacao == null ? "No data" : subject.for_avaliacao;
                lbTeachers.SelectionChanged += new SelectionChangedEventHandler(lbTeachers_SelectionChanged);

                progressBar1.IsIndeterminate = false;
            });
        }
Пример #2
0
        // Load data for the ViewModel Items
        private void CanteenPage_Loaded(object sender, RoutedEventArgs e)
        {
            for (int i = 0; i < GenericModels.Length; ++i)
            {
                if (GenericModels[i] == null)
                    GenericModels[i] = new GenericViewModel();

                if (!GenericModels[i].IsDataLoaded)
                    GenericModels[i].LoadData();
            }
        }