Exemplo n.º 1
0
        public static void Info_For_Submission(StackLayout view)
        {
            if (!CrossConnectivity.Current.IsConnected)
            {
                throw new Exception();
            }

            if (Variables.u_grader == 0)
            {
                Variables.submissionInfo = Task.Run(
                    () => API.Get_Mod_Assign_Submission_Status(Variables.assignId, Variables.userId)).Result;

                var comments = Task.Run(
                    () => API.Get_core_comment_get_comments("module", Variables.true_assign.cmid, "assignsubmission_comments",
                                                            Variables.submissionInfo.lastattempt.submission.id, "submission_comments", 0));

                Variables.sumbissionComments = comments.Result;

                var task_response_status = Structure_Frame.Task_Response_Status_Frame(
                    Variables.submissionInfo.lastattempt.submission.status,
                    Variables.submissionInfo.lastattempt.gradingstatus);
                view.Children.Add(task_response_status);

                #region

                /*
                 * для ответа вне системы (submissionsenabled если true то можно
                 * дать ответ, если false то нельзя), можно так же отследить в
                 * ответ вне системы или нет (но это не точно, лучше проверять plugins на наличие onlinetext и file)
                 */
                #endregion

                if (Variables.submissionInfo.feedback != null)
                {
                    //Если feedack не пустой то будет segmented_control, а значит нужен кто оценил
                    var grader_list = Task.Run(() => API.Get_Core_user_get_users_by_field(
                                                   "id",
                                                   Variables.submissionInfo.feedback.grade.grader.ToString())).Result;
                    foreach (var item in grader_list)
                    {
                        Variables.grader_inf = item;
                    }

                    var segmented_Control = new Segmented_Control_Practical_Work();
                    view.Children.Add(segmented_Control);
                }
                else
                {
                    Function.Check_Submission_Status_View(view,
                                                          Variables.submissionInfo.lastattempt);
                }
            }
            else
            {
                var participantsListFrame = Structure_Frame.Go_Participants_List_Page();
                view.Children.Add(participantsListFrame);

                var submissionListFrame = Structure_Frame.Go_Submission_List_Page();
                view.Children.Add(submissionListFrame);
            }
        }