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)); }
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 } }); } }
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"); }
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")); }
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); }
// 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)); }
// 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")); }
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)); }
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")); }
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")); }
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)); }
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")); }
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)); }
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(); }
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")); }
public void Application_Startup(object sender, StartupEventArgs args) { var mv = new TestVm(); mv.Show("Hello"); }
public MainPage() { InitializeComponent(); _vm = new TestVm(); DataContext = _vm; }
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); }
private void RunTest(TestVm test) { test.Run(); ShowDiff(test); }