Exemplo n.º 1
0
        public async void Run(IBackgroundTaskInstance taskInstance)
        {
            deferral = taskInstance.GetDeferral();

            if (NetworkInterface.GetIsNetworkAvailable())
            {
                var saver = new DataSaver();
                saver.ReadCompleted = (json) =>
                {
                    obj = JObject.Parse(json);

                    Global.ApiUsername = obj["Settings"]["ApiUsername"].ToString();
                    Global.ApiPassword = obj["Settings"]["ApiPassword"].ToString();
                    if (Global.Invoke == null)
                    {
                        Global.Invoke = (action) => { action(); }
                    }
                    ;

                    currentStudent = JsonConvert.DeserializeObject <Student>(obj["Student"].ToString());

                    if (currentStudent != null)
                    {
                        var currentPeriod = currentStudent.Programs[0].Periods[0];

                        LessonRequests.LessonRequest.OnCompleted = GetLessons_Completed;
                        LessonRequests.GetLessons(currentStudent.Id, currentStudent.Password, currentPeriod.Code, currentPeriod.YearCode);
                    }
                };
                saver.ReadAsync("SavedData");
            }
            else
            {
                deferral.Complete();
            }
        }
Exemplo n.º 2
0
        private async void GetLessons_Completed(BaseResponse <List <Lesson> > lessonResponse)
        {
            bool isCompleted = true;

            if (lessonResponse.Status == ResponseStatus.Successful)
            {
                isCompleted = false;
                var lessons = lessonResponse.Result;
                foreach (var oldLesson in currentStudent.Programs[0].Periods[0].Lessons)
                {
                    var newLesson = lessons.SingleOrDefault(x => x.Name == oldLesson.Name);
                    if (newLesson != null)
                    {
                        string text  = "";
                        bool   isNew = false;
                        if (newLesson.FirstMidterm.Mark != oldLesson.FirstMidterm.Mark && newLesson.FirstMidterm.Mark != null)
                        {
                            text += "1. Vize: " + newLesson.FirstMidterm.Mark + " ";
                            isNew = true;
                        }
                        if (newLesson.SecondMidterm.Mark != oldLesson.SecondMidterm.Mark && newLesson.SecondMidterm.Mark != null)
                        {
                            text += "2. Vize: " + newLesson.SecondMidterm.Mark + " ";
                            isNew = true;
                        }
                        if (newLesson.ThirdMidterm.Mark != oldLesson.ThirdMidterm.Mark && newLesson.ThirdMidterm.Mark != null)
                        {
                            text += "3. Vize: " + newLesson.ThirdMidterm.Mark + " ";
                            isNew = true;
                        }
                        if (newLesson.Final.Mark != oldLesson.Final.Mark && newLesson.Final.Mark != null)
                        {
                            text += "Final: " + newLesson.Final.Mark + " ";
                            isNew = true;
                        }
                        if (newLesson.Integration.Mark != oldLesson.Integration.Mark && newLesson.Integration.Mark != null)
                        {
                            text += "Bütünleme: " + newLesson.Integration.Mark + " ";
                            isNew = true;
                        }
                        if (newLesson.Average != oldLesson.Average && newLesson.Average != null)
                        {
                            text += "Ortalama: " + newLesson.Average + " ";
                            isNew = true;
                        }
                        if (!isNew)
                        {
                            text = text.Replace(newLesson.Name + " ", "");
                        }

                        if (!string.IsNullOrEmpty(text))
                        {
                            ShowToastNotification(oldLesson.Name, text);
                        }
                    }
                }
                currentStudent.Programs[0].Periods[0].Lessons = lessons;
                obj["Student"] = JObject.Parse(JsonConvert.SerializeObject(currentStudent));
                var saver = new DataSaver();
                saver.SaveCompleted = (result) =>
                {
                    deferral.Complete();
                };
                saver.SaveAsync("SavedData", obj.ToString());
            }
            if (isCompleted)
            {
                deferral.Complete();
            }
        }