public async Task <IActionResult> PostTaskAnswers([FromBody] TaskAnswers taskAnswers)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.TaskAnswers.Add(taskAnswers);
            await _context.SaveChangesAsync();


            return(CreatedAtAction("GetTaskAnswers", new { id = taskAnswers.Id }, taskAnswers));
        }
        public QuestionPage(User user, IEnumerable <Questions> questions, int pageNumber, int [] answers)
        {
            InitializeComponent();

            var qs    = questions.ToList();
            var count = qs.Count();
            //int[] answers =  new int[count];
            //for (int i=0; i<count;i++)
            //{
            //    answers[i] = 0;
            //}
            //Application.Current.Properties["answers"] = answers;


            StackLayout stackLayout = new StackLayout();
            Entry       answer      = new Entry();
            Label       progress    = new Label();
            Label       question    = new Label();

            question.Text = qs[pageNumber].Content;
            Button next = new Button();

            next.Text = "next";
            Button previous = new Button();

            previous.Text = "previous";
            Button end = new Button();

            end.Text = "end";
            end.HorizontalOptions = LayoutOptions.End;

            answer.Placeholder = "enter answer";
            if (answers[pageNumber] != 0)
            {
                answer.Text = answers[pageNumber].ToString();
            }
            progress.Text = (pageNumber + 1).ToString() + "/" + count.ToString();



            Grid grid = new Grid
            {
                RowDefinitions =
                {
                    new RowDefinition {
                        Height = new GridLength(1, GridUnitType.Star)
                    }
                },
                ColumnDefinitions =
                {
                    new ColumnDefinition {
                        Width = new GridLength(1, GridUnitType.Star)
                    },
                    new ColumnDefinition {
                        Width = new GridLength(1, GridUnitType.Star)
                    }
                }
            };



            if (pageNumber != 0)
            {
                grid.Children.Add(previous, 0, 0);
            }

            if (pageNumber != count - 1)
            {
                grid.Children.Add(next, 1, 0);
            }



            stackLayout.Children.Add(progress);
            stackLayout.Children.Add(grid);
            stackLayout.Children.Add(answer);
            stackLayout.Children.Add(question);

            //if (pageNumber != 0)
            //{
            //    stackLayout.Children.Add(previous);
            //}

            //if (pageNumber != count-1)
            //{
            //    stackLayout.Children.Add(next);
            //}

            stackLayout.Children.Add(end);


            next.Clicked += delegate
            {
                try
                {
                    answers[pageNumber] = int.Parse(answer.Text);
                }
                catch
                {
                }
                var QuestionPage = new QuestionPage(user, questions, pageNumber + 1, answers);
                Navigation.PushModalAsync(QuestionPage);
            };

            previous.Clicked += delegate
            {
                var QuestionPage = new QuestionPage(user, questions, pageNumber - 1, answers);
                Navigation.PushModalAsync(QuestionPage);
            };


            end.Clicked += async delegate
            {
                var displayAlert = await DisplayAlert("Confirm the action", "Did you want end test?", "Yes", "No");

                if (displayAlert == true)
                {
                    Tasks taskToSave = new Tasks();
                    taskToSave.Test   = int.Parse(App.Current.Properties["TestID"].ToString());
                    taskToSave.Start  = DateTime.Parse(App.Current.Properties["Start"].ToString());
                    taskToSave.Finish = DateTime.Now;
                    int sum = 0;
                    int i   = 0;

                    foreach (var q in questions)
                    {
                        if (q.Answer == answers[i])
                        {
                            sum++;
                        }
                        i++;
                    }
                    taskToSave.Sum  = sum;
                    taskToSave.User = user.Id;
                    taskToSave.Pass = int.Parse(App.Current.Properties["Pass"].ToString());



                    ApplicationViewModel applicationViewModel = new ApplicationViewModel();
                    await applicationViewModel.AddTasks(taskToSave);

                    int j = 0;
                    foreach (var q in questions)
                    {
                        TaskAnswers taskAnswers = new TaskAnswers();
                        taskAnswers.Task          = applicationViewModel.GetTasksIdForTaskAnswers.Id;
                        taskAnswers.StudentAnswer = answers[j];
                        if (answers[j] == q.Answer)
                        {
                            taskAnswers.CorrectAnswer = 1;
                        }
                        else
                        {
                            taskAnswers.CorrectAnswer = 0;
                        }

                        taskAnswers.Question = q.Id;
                        j++;
                        await applicationViewModel.AddTaskAnswers(taskAnswers);
                    }


                    await applicationViewModel.ChekUser(user.Login, user.Password);

                    await applicationViewModel.GetSubjects(user.Login, user.Password);

                    var StudentPage = new StudentPage(user, applicationViewModel.subjects);
                    await Navigation.PushModalAsync(StudentPage);
                }
            };


            Content = stackLayout;
        }