Exemplo n.º 1
0
        public ActionResult AddTest(TestVm model)
        {
            if (ModelState.IsValid)
            {
                var dbTest = _baseTestService.GetTestByNumber(model.Number);
                if (dbTest != null)
                {
                    ModelState.AddModelError(nameof(model.Number), "Test o podanym numerze już istnieje.");
                    return(View(model));
                }

                //automatically set start and end time
                var testDay = model.StartDate;
                model.StartDate = testDay.AddHours(12).AddMinutes(00);
                model.EndDate   = testDay.AddHours(23).AddMinutes(59);

                var testDto = new TestDto
                {
                    Number           = model.Number,
                    Description      = model.Description,
                    Answer           = model.Answer.ToUpper().Replace(" ", ""),
                    StartDate        = model.StartDate,
                    EndDate          = model.EndDate,
                    SponsorLogoUrl   = model.SponsorLogoUrl,
                    SponsorName      = model.SponsorName,
                    Discount         = model.Discount,
                    DiscountUrl      = model.DiscountUrl,
                    DiscountLogoUrl  = model.DiscountLogoUrl,
                    DiscountLogoPath = model.DiscountLogoPath
                };
                _adminService.AddTest(testDto);
                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
Exemplo n.º 2
0
        private void ShowDiff(TestVm test)
        {
            _para.Inlines.Clear();

            if (test.PrettyPrintResult == null)
            {
                _para.Inlines.AddRange(new Inline[] { new Run("The test was never started.")
                                                      {
                                                          Foreground = Brushes.Gray
                                                      } });
                return;
            }

            if (test.TestState == TestState.Failure)
            {
                var lines = Diff(Split(test.Gold), Split(test.PrettyPrintResult));
                lines.RemoveAt(0);
                lines.RemoveAt(lines.Count - 1);

                foreach (var line in lines)
                {
                    _para.Inlines.AddRange(line);
                }
            }
            else if (test.TestState == TestState.Success)
            {
                _para.Inlines.AddRange(new Inline[] { new Run("Output of the test and the 'gold' are identical.")
                                                      {
                                                          Foreground = Brushes.LightGreen
                                                      } });
            }
        }
Exemplo n.º 3
0
        public void DoNotThrowAWobblyWhenRemovingaMutatedValue()
        {

            var pageController = new PageController();
            var sortController = new SortController<TestVm>(SortExpressionComparer<TestVm>.Ascending(t => t.DateFavorited ?? DateTime.MinValue));
            var filterController = new FilterController<TestVm>(myVm => myVm.Id != 0);
            var items = new ObservableCollectionExtended<TestVm>();
            var itemCache = new SourceCache<TestVm, int>(myVm => myVm.Id);

            var item1 = new TestVm(1) { DateFavorited = DateTime.Now };
            var item2 = new TestVm(2) { DateFavorited = DateTime.Now };

            itemCache.AddOrUpdate(item1);
            itemCache.AddOrUpdate(item2);

            bool error = false;
            itemCache.Connect()
                .Filter(filterController)
                .Sort(sortController)
                .Page(pageController)//error doesnt occur with paging disabled
                .Bind(items)
                .Subscribe(changes => { }, ex => error = true);

            pageController.Change(new PageRequest(1, 100));

            //NB: never errored if it was the first item which was removed
            item2.DateFavorited = null;
            itemCache.Remove(item2); //ERROR!

            Assert.IsFalse(error, "Error has been thrown");
        }
Exemplo n.º 4
0
        public ActionResult Create(TestVm test)
        {
            TestVm testvm = (TestVm)Session["test"];

            if (test != null)
            {
                foreach (var question in test.questions)
                {
                    if (question.numberChosed.Equals("first"))
                    {
                        if (question.correct.Equals(question.syn1))
                        {
                            test.mark++;
                        }
                    }
                    else if (question.numberChosed.Equals("second"))
                    {
                        if (question.correct.Equals(question.syn2))
                        {
                            test.mark++;
                        }
                    }
                    else
                    {
                        if (question.correct.Equals(question.syn3))
                        {
                            test.mark++;
                        }
                    }
                }
            }
            return(RedirectToAction("Profile", "Applicant"));
        }
Exemplo n.º 5
0
        private static bool RunTestFile(TestVm testFile)
        {
            testFile.Run(RecoveryAlgorithm.Smart);

            switch (testFile.TestState)
            {
            case TestState.Skipped:
                ContinuePrint("skipped.", ConsoleColor.Yellow);
                break;

            case TestState.Failure:
                ContinuePrint("failed!", ConsoleColor.Red);
                Indent();
                Diff(testFile);
                Unindent();

                return(true);

            case TestState.Ignored:
                ContinuePrint("ignored.", ConsoleColor.Yellow);
                break;

            case TestState.Inconclusive:
                ContinuePrint("inconclusive.", ConsoleColor.Yellow);
                break;

            case TestState.Success:
                ContinuePrint("passed.", ConsoleColor.Green);
                break;
            }

            return(false);
        }
Exemplo n.º 6
0
        // GET: Test
        public ActionResult Index()
        {
            HttpClient Client = new HttpClient();

            Client.BaseAddress = new Uri("http://localhost:18080");
            Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            HttpResponseMessage response = Client.GetAsync("/l4c_map-v2-web/rest/test").Result;
            var testsvm = new List <TestVm>();

            if (response.IsSuccessStatusCode)
            {
                var tests = response.Content.ReadAsAsync <IEnumerable <test> >().Result;
                foreach (test test in tests)
                {
                    TestVm tvm = new TestVm()
                    {
                        dateOfPassing = test.dateOfPassing,
                        difficulty    = test.difficulty,
                        //files = test.files,
                        //idResponsable = test.idResponsable,
                        idTest    = test.idTest,
                        mark      = test.mark,
                        name      = test.name,
                        specialty = test.specialty,
                    };
                    Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    HttpResponseMessage      response_question = Client.GetAsync("/l4c_map-v2-web/rest/question/" + test.idTest).Result;
                    ICollection <QuestionVm> allquestion       = (ICollection <QuestionVm>)response_question.Content.ReadAsAsync <IEnumerable <QuestionVm> >().Result;
                    foreach (QuestionVm question in allquestion)
                    {
                        tvm.questions.Add(new QuestionVm()
                        {
                            correct    = question.correct,
                            idQuestion = question.idQuestion,
                            syn1       = question.syn1,
                            syn2       = question.syn2,
                            syn3       = question.syn3,
                            task       = question.task,
                            test       = question.test
                        });
                    }
                    testsvm.Add(tvm);
                }
            }
            Session["alltest"] = testsvm;
            return(View(testsvm));
        }
Exemplo n.º 7
0
 // GET: Question/Create
 public ActionResult Create(int number)
 {
     if (Session["test"] != null)
     {
         TestVm test = (TestVm)Session["test"];
         ViewBag.numberOfQuestion = test.questions.Count();
         ViewBag.number           = number;
         if (number < test.questions.Count())
         {
             Session["question"] = test.questions.ElementAt(number);
             return(View(test.questions.ElementAt(number)));
         }
         else
         {
             return(RedirectToAction("Create", "Test"));
         }
     }
     return(RedirectToAction("Error", "Shared"));
 }
Exemplo n.º 8
0
        public ActionResult AddTest(TestVm model)
        {
            if (model is null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            if (this.ModelState.IsValid)
            {
                var dbTest = this.baseTestService.GetTestByNumber(model.Number);

                if (dbTest != null)
                {
                    this.ModelState.AddModelError(nameof(model.Number), "Test o podanym numerze już istnieje.");
                    return(this.View(model));
                }

                // automatically set start and end time
                var testDay = model.StartDate;
                model.StartDate = testDay.AddHours(12).AddMinutes(00);
                model.EndDate   = testDay.AddHours(23).AddMinutes(59);

                var testDto = new TestDto
                {
                    Number           = model.Number,
                    Description      = model.Description,
                    Answer           = model.Answer.ToUpper(CultureInfo.InvariantCulture).Replace(" ", " ", StringComparison.Ordinal),
                    StartDate        = model.StartDate,
                    EndDate          = model.EndDate,
                    SponsorLogoUrl   = model.SponsorLogoUrl,
                    SponsorName      = model.SponsorName,
                    Discount         = model.Discount,
                    DiscountUrl      = model.DiscountUrl,
                    DiscountLogoUrl  = model.DiscountLogoUrl,
                    DiscountLogoPath = model.DiscountLogoPath
                };
                this.adminService.AddTest(testDto);
                return(this.RedirectToAction("Index"));
            }

            return(this.View(model));
        }
Exemplo n.º 9
0
        public ActionResult Create(QuestionVm question)
        {
            QuestionVm questionfromsession = (QuestionVm)Session["question"];

            questionfromsession.numberChosed = question.numberChosed;
            question = questionfromsession;
            TestVm     test   = (TestVm)Session["test"];
            HttpClient Client = new HttpClient();

            Client.BaseAddress = new Uri("http://localhost:18080");
            string choice;

            if (question.numberChosed.ToString().Equals("first"))
            {
                choice = question.syn1;
            }
            else if (question.numberChosed.ToString().Equals("second"))
            {
                choice = question.syn2;
            }
            else
            {
                choice = question.syn3;
            }
            HttpResponseMessage response = Client.GetAsync("/l4c_map-v2-web/rest/question/" + question.idQuestion + "/" + choice).Result;

            if (response.IsSuccessStatusCode)
            {
                int next = test.questions.IndexOf(question);
                if (choice.Equals(question.correct))
                {
                    test.mark++;
                }
                Session["test"] = test;
                next++;
                if (next < test.questions.Count())
                {
                    return(RedirectToAction("Create", "Question", new { number = next }));
                }
            }
            return(RedirectToAction("Create", "Test"));
        }
Exemplo n.º 10
0
        public ActionResult Create()
        {
            user   user    = (user)Session["user"];
            TestVm testvm  = (TestVm)Session["test"];
            test   newtest = new test()
            {
                dateOfPassing = DateTime.Now,
                difficulty    = testvm.difficulty,
                //files = testvm.files,
                //idResponsable = testvm.idResponsable,
                idTest    = testvm.idTest,
                mark      = testvm.mark,
                name      = testvm.name,
                specialty = testvm.specialty
            };
            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri("http://localhost:18080");
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            client.PutAsJsonAsync <test>("/l4c_map-v2-web/rest/applicant/" + user.id, newtest).ContinueWith((postTask) => postTask.Result.EnsureSuccessStatusCode());
            return(RedirectToAction("Profile", "Applicant"));
        }
Exemplo n.º 11
0
        public ActionResult Add(QuestionVm questionvm)
        {
            TestVm test = (TestVm)Session["testSelected"];
            user   user = (user)Session["user"];

            if (questionvm.numberChosed.ToString().Equals("first"))
            {
                questionvm.correct = questionvm.syn1;
            }
            else if (questionvm.numberChosed.ToString().Equals("second"))
            {
                questionvm.correct = questionvm.syn2;
            }
            else
            {
                questionvm.correct = questionvm.syn3;
            }

            if (ModelState.IsValid)
            {
                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri("http://localhost:18080");
                Question question = new Question()
                {
                    correct      = questionvm.correct,
                    idQuestion   = questionvm.idQuestion,
                    numberChosed = questionvm.numberChosed,
                    syn1         = questionvm.syn1,
                    syn2         = questionvm.syn2,
                    syn3         = questionvm.syn3,
                    task         = questionvm.task,
                    test         = questionvm.test
                };
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.PostAsJsonAsync <Question>("/l4c_map-v2-web/rest/question/" + test.idTest, question).ContinueWith((postTask) => postTask.Result.EnsureSuccessStatusCode());
            }
            return(Add(test));
        }
Exemplo n.º 12
0
        public ActionResult Add(TestVm test)
        {
            Session["testSelected"] = test;
            user       user   = (user)Session["user"];
            HttpClient Client = new HttpClient();

            Client.BaseAddress = new Uri("http://localhost:18080");
            Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            HttpResponseMessage      response_question = Client.GetAsync("/l4c_map-v2-web/rest/question/" + test.idTest).Result;
            ICollection <QuestionVm> allquestion       = (ICollection <QuestionVm>)response_question.Content.ReadAsAsync <IEnumerable <QuestionVm> >().Result;

            if (allquestion == null)
            {
                allquestion = new Collection <QuestionVm>();
            }
            ViewBag.numberOfQuestion = allquestion.Count() + 1;

            if (ViewBag.numberOfQuestion <= 5 && user != null && user.role.Equals("Responsable"))
            {
                return(View());
            }
            return(RedirectToAction("Index", "Test"));
        }
Exemplo n.º 13
0
        public async Task <ActionResult> Add(TestVm testvm)
        {
            user user = (user)Session["user"];

            if (ModelState.IsValid && user != null && user.role.Equals("Responsable"))
            {
                test test = new test()
                {
                    name       = testvm.name,
                    difficulty = testvm.difficulty,
                    specialty  = testvm.specialty
                };
                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri("http://localhost:18080");
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                HttpResponseMessage response = await client.PostAsJsonAsync <test>("/l4c_map-v2-web/rest/responsable/" + user.id, test).ContinueWith((postTask) => postTask.Result.EnsureSuccessStatusCode());

                string id = response.Content.ReadAsStringAsync().Result.ToString();
                testvm.idTest = System.Convert.ToInt32(id);
                return(RedirectToAction("Add", "Question", testvm));
            }
            return(RedirectToAction("Index", "Applicant", testvm));
        }
Exemplo n.º 14
0
        public void DoNotThrowAWobblyWhenRemovingaMutatedValue()
        {
            var pageController   = new PageController();
            var sortController   = new SortController <TestVm>(SortExpressionComparer <TestVm> .Ascending(t => t.DateFavorited ?? DateTime.MinValue));
            var filterController = new FilterController <TestVm>(myVm => myVm.Id != 0);
            var items            = new ObservableCollectionExtended <TestVm>();
            var itemCache        = new SourceCache <TestVm, int>(myVm => myVm.Id);

            var item1 = new TestVm(1)
            {
                DateFavorited = DateTime.Now
            };
            var item2 = new TestVm(2)
            {
                DateFavorited = DateTime.Now
            };

            itemCache.AddOrUpdate(item1);
            itemCache.AddOrUpdate(item2);

            bool error = false;

            itemCache.Connect()
            .Filter(filterController)
            .Sort(sortController)
            .Page(pageController)          //error doesnt occur with paging disabled
            .Bind(items)
            .Subscribe(changes => { }, ex => error = true);

            pageController.Change(new PageRequest(1, 100));

            //NB: never errored if it was the first item which was removed
            item2.DateFavorited = null;
            itemCache.Remove(item2); //ERROR!

            error.Should().BeFalse();
        }
Exemplo n.º 15
0
        public new ActionResult Profile(ApplicantVm applicantvm)
        {
            var user = (user)Session["user"];

            if (user != null && user.role.Equals("Responsable"))
            {
                user.id = applicantvm.id;
            }
            if (user != null)
            {
                HttpClient Client = new HttpClient();
                Client.BaseAddress = new Uri("http://localhost:18080");
                Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                HttpResponseMessage response = Client.GetAsync("/l4c_map-v2-web/rest/applicant/" + user.id).Result;
                if (response.IsSuccessStatusCode)
                {
                    applicant   applicant = response.Content.ReadAsAsync <applicant>().Result;
                    ApplicantVm avm       = new ApplicantVm()
                    {
                        id              = applicant.id,
                        age             = applicant.age,
                        applicantState  = applicant.applicantState,
                        chanceOfSuccess = applicant.chanceOfSuccess,
                        country         = (PaysVm)Enum.Parse(typeof(PaysVm), applicant.country),
                        lastname        = applicant.lastname,
                        name            = applicant.name,
                        role            = applicant.role,
                        username        = applicant.username,
                        picture         = applicant.picture,
                        demand          = applicant.demand,
                        arrival         = applicant.arrival
                    };
                    ArrivalVm arrivalvm = new ArrivalVm()
                    {
                        arrivalDate  = avm.arrival.arrivalDate,
                        idArrival    = avm.arrival.idArrival,
                        flightNumber = avm.arrival.flightNumber
                    };
                    avm.arrivalvm = arrivalvm;
                    Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    HttpResponseMessage response_test = Client.GetAsync("/l4c_map-v2-web/rest/test/").Result;
                    if (response_test.IsSuccessStatusCode)
                    {
                        ICollection <test> alltest = (ICollection <test>)response_test.Content.ReadAsAsync <IEnumerable <test> >().Result;

                        foreach (test test in alltest)
                        {
                            TestVm tvm = new TestVm()
                            {
                                dateOfPassing = test.dateOfPassing,
                                difficulty    = test.difficulty,
                                //files = test.files,
                                //idResponsable = test.idResponsable,
                                idTest    = test.idTest,
                                mark      = test.mark,
                                name      = test.name,
                                specialty = test.specialty,
                            };
                            Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                            HttpResponseMessage      response_question = Client.GetAsync("/l4c_map-v2-web/rest/question/" + test.idTest).Result;
                            ICollection <QuestionVm> allquestion       = (ICollection <QuestionVm>)response_question.Content.ReadAsAsync <IEnumerable <QuestionVm> >().Result;
                            foreach (QuestionVm question in allquestion)
                            {
                                tvm.questions.Add(new QuestionVm()
                                {
                                    correct    = question.correct,
                                    idQuestion = question.idQuestion,
                                    syn1       = question.syn1,
                                    syn2       = question.syn2,
                                    syn3       = question.syn3,
                                    task       = question.task,
                                    test       = question.test
                                });
                            }
                            avm.tests.Add(tvm);
                        }
                        Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                        HttpResponseMessage response_testpassed = Client.GetAsync("/l4c_map-v2-web/rest/test/" + user.id).Result;
                        if (response_testpassed.IsSuccessStatusCode)
                        {
                            ICollection <test> testpassed = (ICollection <test>)response_testpassed.Content.ReadAsAsync <IEnumerable <test> >().Result;
                            foreach (test test in testpassed)
                            {
                                avm.testpassed.Add(new TestVm()
                                {
                                    dateOfPassing = test.dateOfPassing,
                                    difficulty    = test.difficulty,
                                    idTest        = test.idTest,
                                    mark          = test.mark,
                                    name          = test.name,
                                    specialty     = test.specialty
                                });
                            }
                        }
                    }
                    foreach (var passed in avm.testpassed)
                    {
                        avm.tests.Remove(passed);
                    }
                    return(View(avm));
                }
            }
            return(RedirectToAction("Error", "Shared"));
        }
Exemplo n.º 16
0
        public void Application_Startup(object sender, StartupEventArgs args)
        {
            var mv = new TestVm();

            mv.Show("Hello");
        }
Exemplo n.º 17
0
 public MainPage()
 {
     InitializeComponent();
     _vm         = new TestVm();
     DataContext = _vm;
 }
Exemplo n.º 18
0
 public MainPage()
 {
     InitializeComponent();
     _vm = new TestVm();
     DataContext = _vm;
 }
Exemplo n.º 19
0
        private static void Diff(TestVm test)
        {
            var       textA       = Split(test.Gold);
            var       textB       = Split(test.PrettyPrintResult);
            const int rangeToShow = 3;
            var       indexA      = 0;
            var       output      = new List <string>();

            foreach (var diffItem in textA.Diff(textB))
            {
                //в начале итерации indexA содержит индекс строки идущей сразу за предыдущим блоком

                // определяем нужно ли выводить разделитель
                if (diffItem.Index - indexA > rangeToShow * 2)
                {
                    //показываем строки идущие после предыдущего блока
                    for (var i = 0; i < rangeToShow; ++i)
                    {
                        PrintLine("  " + textA[indexA]);
                        ++indexA;
                    }

                    PrintLine("  " + "...", ConsoleColor.Gray);

                    //показываем строки идущие перед текущим блоком
                    indexA = diffItem.Index - rangeToShow;
                    for (var i = 0; i < rangeToShow; ++i)
                    {
                        PrintLine("  " + textA[indexA]);
                        ++indexA;
                    }
                }
                else
                {
                    //показываем строки между блоками
                    while (indexA < diffItem.Index)
                    {
                        PrintLine("  " + textA[indexA]);
                        ++indexA;
                    }
                }

                // показываем удаленные строки
                for (var i = 0; i < diffItem.Deleted; ++i)
                {
                    PrintLine("- " + textA[indexA], ConsoleColor.Red);
                    ++indexA;
                }

                // показываем добавленные строки
                foreach (var insertedItem in diffItem.Inserted)
                {
                    PrintLine("+ " + insertedItem, ConsoleColor.Green);
                }
            }

            // показываем не более rangeToShow последующих строк
            var tailLinesToShow = Math.Min(rangeToShow, textA.Length - indexA);

            for (var i = 0; i < tailLinesToShow; ++i)
            {
                PrintLine("  " + textA[indexA]);
                ++indexA;
            }

            if (indexA < textA.Length)
            {
                PrintLine("  " + "...", ConsoleColor.Gray);
            }

            PrintLine("END-DIFF", ConsoleColor.Gray);
        }
Exemplo n.º 20
0
        private void RunTest(TestVm test)
        {
            test.Run();

            ShowDiff(test);
        }