async Task getPractMarkAndVisiting()
        {
            StatsModel       stats     = new StatsModel();
            LabsVisitingList statsTest = new LabsVisitingList();

            statsTest = await DataAccess.GetTestPracticialStatistics(_currentSubjectId, _currentGroupId);

            stats = await DataAccess.GetStatistics(_currentSubjectId, _currentGroupId);

            var student = stats?.Students?.SingleOrDefault(
                s => string.Compare(s.Name?.ToLower(), _currentUserName?.ToLower()) == 0);
            var studentTest = statsTest?.Students?.SingleOrDefault(
                s => string.Compare(s.FullName?.ToLower(), _currentUserName?.ToLower()) == 0);

            if (_statisticsPage == StatsPageEnum.LabsRating)
            {
                setMarks(student, studentTest);
            }
            else if (_statisticsPage == StatsPageEnum.LabsVisiting)
            {
                setLabsVisiting(student, studentTest);
            }
            else if (_statisticsPage == StatsPageEnum.PractiseMarks)
            {
                setMarks(student, studentTest);
            }
            else
            {
                setLabsVisiting(student, studentTest);
            }
        }
Exemplo n.º 2
0
        public SavePracticeAndLabsPageView(string title, int subjectId, int groupId)
        {
            _title = title;
            var httpContent = new StringContent("", Encoding.UTF8, "application/json");

            BackgroundColor = Color.FromHex(Theme.Current.AppBackgroundColor);
            Padding         = _padding;
            NavigationPage.SetHasNavigationBar(this, false);
            if (_title == CrossLocalization.Translate("practice_mark"))
            {
                string link       = Links.GetParticialsMarks;
                var    groupItems = new GroupAndSubjModel();
                groupItems.GroupId   = groupId;
                groupItems.SubjectId = subjectId;
                var body = JsonConvert.SerializeObject(groupItems);
                httpContent = new StringContent(body, Encoding.UTF8, "application/json");
                var obj = requestDataAsync(link, httpContent);
                practicMarksList = JsonConvert.DeserializeObject <LabsVisitingList>(obj.Result.ToString());
                BindingContext   = new SavePracticeAndLabsPageViewModel(new PlatformServices(), subjectId, practicMarksList, groupId, title);
                createViews();
            }
            else if (_title == CrossLocalization.Translate("stats_page_labs_rating"))
            {
                string link = Links.GetLabsCalendarData + "subjectId=" + subjectId + "&groupId=" + groupId;
                var    obj  = requestDataAsync(link, httpContent);
                labMarksList   = JsonConvert.DeserializeObject <LabsVisitingList>(obj.Result.ToString());
                BindingContext = new SavePracticeAndLabsPageViewModel(new PlatformServices(), subjectId, labMarksList, groupId, title);
                createLabsMarks();
            }
        }
        private void createPracticialsMarksPage(LabsVisitingList practiceVisitingList)
        {
            var currentStudents = new List <StudentsPageModel>();

            foreach (var pract in practiceVisitingList.Students)
            {
                currentStudents.Add(new StudentsPageModel(pract.Login, pract.FullName));
            }
            Students = currentStudents;
        }
Exemplo n.º 4
0
 public SaveMarksPageViewModel(IPlatformServices services, int _subjectId, object stat, int groupId, string title)
 {
     _titleOfPage = title;
     _services    = services;
     if (title == CrossLocalization.Translate("stats_page_lectures_visiting"))
     {
         groupData = stat as VisitingLecturesList;
         createLecturesVisitingPage(groupData);
     }
     else if (title == CrossLocalization.Translate("stats_page_labs_visiting"))
     {
         labsVisitingList = stat as LabsVisitingList;
         _takedLabs       = new TakedLabs();
         WebRequest request = WebRequest.Create(Links.GetLabsTest + "subjectId=" + _subjectId + "&groupId=" + groupId);
         request.Headers.Add("Authorization", _services.Preferences.AccessToken);
         WebResponse response = request.GetResponse();
         string      json     = "";
         using (Stream stream = response.GetResponseStream())
         {
             using (StreamReader reader = new StreamReader(stream))
             {
                 string line = "";
                 while ((line = reader.ReadLine()) != null)
                 {
                     json += line;
                 }
             }
         };
         _takedLabs = JsonConvert.DeserializeObject <TakedLabs>(json);
         createLabsVisitingPage(labsVisitingList);
     }
     else if (title == CrossLocalization.Translate("practiсe_visiting"))
     {
         subjectId            = _subjectId;
         practiceVisitingList = stat as LabsVisitingList;
         _takedLabs           = new TakedLabs();
         WebRequest request = WebRequest.Create(Links.GetPracticialsTest + "subjectId=" + _subjectId + "&groupId=" + groupId);
         request.Headers.Add("Authorization", _services.Preferences.AccessToken);
         WebResponse response = request.GetResponse();
         string      json     = "";
         using (Stream stream = response.GetResponseStream())
         {
             using (StreamReader reader = new StreamReader(stream))
             {
                 string line = "";
                 while ((line = reader.ReadLine()) != null)
                 {
                     json += line;
                 }
             }
         };
         _takedLabs = JsonConvert.DeserializeObject <TakedLabs>(json);
         createPracticialsVisitingPage(practiceVisitingList);
     }
 }
Exemplo n.º 5
0
 private void createPracticialsVisitingPage(LabsVisitingList statistics)
 {
     LecturesMarks     = new List <VisitingPageModel>();
     fullVisitingPract = statistics;
     Date      = new List <string>();
     FullNames = new List <string>();
     _currentLecturesVisitingMarks = new List <VisitingPageModel>();
     foreach (var pract in _takedLabs.ScheduleProtectionPracticals)
     {
         Date.Add(pract.Date);
     }
     selDateForSave   = Date[Date.Count - 1];
     SelectedPracDate = selDateForSave;
 }
        private void createLabsMarksPage(LabsVisitingList labsVisitingList)
        {
            FullNames         = new List <string>();
            LabsVisitingMarks = new List <StudentsPageModel>();
            Date1             = new List <string>();
            Date2             = new List <string>();
            SubGroup          = new List <string>();
            _currentLabsVisitingMarksSubGroup1 = new List <StudentsPageModel>();
            _currentLabsVisitingMarksSubGroup2 = new List <StudentsPageModel>();
            var currentStudents = new List <StudentsPageModel>();

            foreach (var group in labsVisitingList.Students)
            {
                if (group.SubGroup == 1)
                {
                    _currentLabsVisitingMarksSubGroup1.Add(new StudentsPageModel(group.Login, group.FullName));
                    FullNames.Add(group.FullName);
                }
                else
                {
                    _currentLabsVisitingMarksSubGroup2.Add(new StudentsPageModel(group.Login, group.FullName));
                    FullNames.Add(group.FullName);
                }
            }
            foreach (var lab in _takedLabs.ScheduleProtectionLabs.Where(v => v.SubGroup == 1))
            {
                Date1.Add(lab.Date);
            }
            ;
            foreach (var lab in _takedLabs.ScheduleProtectionLabs.Where(v => v.SubGroup == 2))
            {
                Date2.Add(lab.Date);
            }
            ;
            foreach (var lab in _takedLabs.ScheduleProtectionLabs)
            {
                if (!SubGroup.Contains(CrossLocalization.Translate("sub_group") + lab.SubGroup.ToString()))
                {
                    SubGroup.Add(CrossLocalization.Translate("sub_group") + lab.SubGroup.ToString());
                }
            }
            LabsVisitingMarksSubGroup    = currentStudents;
            LabsVisitingMarksSubGroupOne = _currentLabsVisitingMarksSubGroup1;
            LabsVisitingMarksSubGroupTwo = _currentLabsVisitingMarksSubGroup2;
            SelectedSubGroup             = SubGroup.FirstOrDefault();
        }
Exemplo n.º 7
0
 public SaveSingleStudentMarkPageViewModel(IPlatformServices services,
                                           string nameofLabOrPr, LabsVisitingList marks, TakedLabs prOrLabStat, string title, string _studName, int subGruop)
 {
     _subGruop   = subGruop;
     studentName = _studName;
     _title      = title;
     if (title == CrossLocalization.Translate("practice_mark"))
     {
         fullPractice = marks;
     }
     else if (title == CrossLocalization.Translate("stats_page_labs_rating"))
     {
         fullMarksLabs = marks;
     }
     _services         = services;
     _takedLabs        = prOrLabStat;
     SelectedShortName = nameofLabOrPr;
 }
Exemplo n.º 8
0
 void createLabsVisitingPage(LabsVisitingList statistics)
 {
     LabsVisitingMarks = new List <VisitingPageModel>();
     SubGroup          = new List <string>();
     FullNames         = new List <string>();
     fullVisitingLabs  = statistics;
     foreach (var subGroup in _takedLabs.Labs)
     {
         if (!currentSubGroups.Contains(subGroup.SubGroup))
         {
             currentSubGroups.Add(subGroup.SubGroup);
         }
     }
     foreach (var subGruop in currentSubGroups)
     {
         SubGroup.Add(CrossLocalization.Translate("sub_group") + subGruop.ToString());
     }
     selSubGroup      = currentSubGroups[0];
     SelectedSubGroup = SubGroup.FirstOrDefault();
 }
Exemplo n.º 9
0
        protected virtual async Task getAndSetStatistics()
        {
            try
            {
                var studentsStatistics = await getStatistics();

                _students = studentsStatistics;
                var currentPractStudentStatistics = new LaboratoryWorksModel();
                var studentsPractStatistics       = await DataAccess.GetTestPracticialStatistics(CurrentSubject.Id, PlatformServices.Preferences.GroupId);

                if (Servers.Current == Servers.EduCatsAddress)
                {
                    var currentStudentStatistics = new StatsStudentModel();
                    var studentTestStatistics    = await DataAccess.GetTestStatistics(CurrentSubject.Id, PlatformServices.Preferences.GroupId);

                    var currentTestStudentStatistics = studentTestStatistics.Students.SingleOrDefault(
                        s => s.StudentId == PlatformServices.Preferences.UserId);
                    currentPractStudentStatistics = studentsPractStatistics.Students.SingleOrDefault(
                        s => s.StudentId == PlatformServices.Preferences.UserId);
                    setChartData(currentStudentStatistics, currentTestStudentStatistics, currentPractStudentStatistics);
                    _studentsTest = studentTestStatistics;
                }
                else
                {
                    var labsTest = new LaboratoryWorksModel();
                    var currentStudentStatistics = new StatsStudentModel();
                    studentsStatistics = await getStatistics();

                    currentStudentStatistics = studentsStatistics.SingleOrDefault(
                        s => s.StudentId == PlatformServices.Preferences.UserId);
                    setChartData(currentStudentStatistics, labsTest, currentPractStudentStatistics);
                    _students = studentsStatistics;
                }
            }
            catch (Exception ex)
            {
                AppLogs.Log(ex);
            }
        }
        public SaveSingleStudentMarkPageView(string title, string name, LabsVisitingList marks, TakedLabs prOrLabStat, int subGruop)
        {
            _title = title;

            if (title == CrossLocalization.Translate("practice_mark"))
            {
                foreach (var pract in prOrLabStat.Practicals)
                {
                    NameOfLabOrPractice.Add(pract.ShortName);
                }
                BindingContext = new SaveSingleStudentMarkPageViewModel(new PlatformServices(),
                                                                        NameOfLabOrPractice.FirstOrDefault(), marks, prOrLabStat, title, name, subGruop);
            }
            else if (title == CrossLocalization.Translate("stats_page_labs_rating"))
            {
                foreach (var lab in prOrLabStat.Labs)
                {
                    if (lab.SubGroup == subGruop)
                    {
                        NameOfLabOrPractice.Add(lab.ShortName);
                    }
                }
                BindingContext = new SaveSingleStudentMarkPageViewModel(new PlatformServices(),
                                                                        NameOfLabOrPractice.FirstOrDefault(), marks, prOrLabStat, title, name, subGruop);
            }
            BackgroundColor = Color.FromHex(Theme.Current.AppBackgroundColor);
            Padding         = _padding;
            NavigationPage.SetHasNavigationBar(this, false);
            var entryStyle = getEntryStyle();
            var inicials   = new Label
            {
                VerticalOptions = LayoutOptions.CenterAndExpand,
                TextColor       = Color.FromHex(Theme.Current.StatisticsDetailsTitleColor),
                Style           = AppStyles.GetLabelStyle(),
                Text            = name,
            };

            var nameOfPrOrLb = new Picker
            {
                BackgroundColor         = Color.White,
                HeightRequest           = 50,
                ItemsSource             = NameOfLabOrPractice,
                HorizontalTextAlignment = TextAlignment.Center,
            };

            nameOfPrOrLb.SetBinding(Picker.SelectedItemProperty, "SelectedShortName");

            var markLabel = new Label
            {
                VerticalOptions = LayoutOptions.CenterAndExpand,
                TextColor       = Color.FromHex(Theme.Current.StatisticsDetailsTitleColor),
                Style           = AppStyles.GetLabelStyle(),
                Text            = CrossLocalization.Translate("mark"),
            };

            var dateLabel = new Label
            {
                VerticalOptions = LayoutOptions.CenterAndExpand,
                TextColor       = Color.FromHex(Theme.Current.StatisticsDetailsTitleColor),
                Style           = AppStyles.GetLabelStyle(),
                Text            = CrossLocalization.Translate("date"),
            };

            var commentLabel = new Label
            {
                VerticalOptions   = LayoutOptions.CenterAndExpand,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                TextColor         = Color.FromHex(Theme.Current.StatisticsDetailsTitleColor),
                Style             = AppStyles.GetLabelStyle(),
                Text = CrossLocalization.Translate("comment"),
            };

            var showCommentLabel = new Label
            {
                VerticalOptions = LayoutOptions.CenterAndExpand,
                TextColor       = Color.FromHex(Theme.Current.StatisticsDetailsTitleColor),
                Style           = AppStyles.GetLabelStyle(),
                HeightRequest   = 60,
                Text            = CrossLocalization.Translate("show_for_student"),
            };

            var showComment = new Switch
            {
                IsToggled = false,
            };

            showComment.SetBinding(Switch.IsToggledProperty, "ShowForStud");

            var markPicker = new Picker
            {
                BackgroundColor         = Color.White,
                HeightRequest           = 50,
                ItemsSource             = Marks,
                HorizontalTextAlignment = TextAlignment.Center,
            };

            markPicker.SetBinding(Picker.SelectedItemProperty, "Mark");

            var datePicker = new Entry
            {
                Style      = entryStyle,
                ReturnType = ReturnType.Done,
                Text       = DateTime.Today.ToString("dd.MM.yyyy"),
                TextColor  = Color.Black,
                IsReadOnly = true,
            };

            var commentEntry = new Entry
            {
                Style      = entryStyle,
                ReturnType = ReturnType.Done,
            };

            commentEntry.SetBinding(Entry.TextProperty, "Comment");

            var gridLayout = new Grid
            {
                BackgroundColor = Color.FromHex(Theme.Current.BaseBlockColor),
                Padding         = _gridPadding,
                VerticalOptions = LayoutOptions.Start,
            };

            var saveBut = new Button
            {
                FontAttributes  = FontAttributes.Bold,
                Text            = CrossLocalization.Translate("save_marks"),
                TextColor       = Color.FromHex(Theme.Current.LoginButtonTextColor),
                BackgroundColor = Color.FromHex(Theme.Current.LoginButtonBackgroundColor),
                HeightRequest   = _controlHeight,
                Style           = AppStyles.GetButtonStyle(bold: true)
            };

            saveBut.SetBinding(Button.CommandProperty, "SaveMarksButton");

            gridLayout.Children.Add(inicials, 0, 0);
            gridLayout.Children.Add(nameOfPrOrLb, 0, 1);
            gridLayout.Children.Add(markLabel, 0, 2);
            gridLayout.Children.Add(markPicker, 2, 2);
            gridLayout.Children.Add(dateLabel, 0, 3);
            gridLayout.Children.Add(datePicker, 2, 3);
            gridLayout.Children.Add(commentLabel, 0, 4);
            gridLayout.Children.Add(commentEntry, 2, 4);
            gridLayout.Children.Add(showCommentLabel, 0, 5);
            gridLayout.Children.Add(showComment, 2, 5);
            gridLayout.Children.Add(saveBut, 0, 6);
            Grid.SetColumnSpan(inicials, 3);
            Grid.SetColumnSpan(showCommentLabel, 2);
            Grid.SetColumnSpan(commentLabel, 2);
            Grid.SetColumnSpan(markLabel, 2);
            Grid.SetColumnSpan(saveBut, 3);
            Grid.SetColumnSpan(nameOfPrOrLb, 3);
            Content = gridLayout;
        }