public void Mapping_IntAsString_Maps_To_CorrectValidatedInt(string initialValue, bool expectedValid, int expectedValue) { Mapper.CreateMap<ExampleViewModel, ExampleRequest>(); var source = new ExampleViewModel { IntProperty = initialValue }; var destination = Mapper.Map(source, new ExampleRequest()); destination.IntProperty.IsValid.Should().Be(expectedValid); destination.IntProperty.Value.Should().Be(expectedValue); }
public void Mapping_Null_ToValidatedNullableInt_Maps_To_ValidValidatedInt_WithNullValue() { Mapper.CreateMap<ExampleViewModel, ExampleRequest>(); var source = new ExampleViewModel { NullableIntProperty = null }; var destination = Mapper.Map(source, new ExampleRequest()); destination.NullableIntProperty.IsValid.Should().BeTrue(); destination.NullableIntProperty.Value.Should().Be(null); }
public IActionResult JSSelectExample(ExampleViewModel model) { model.SelectList = new SelectList(GetSelectListItems(), "Value", "Text", model.ThingId); return(View(model)); }
public IActionResult TagHelperSelectExample(ExampleViewModel model) { // set breakpoint and inspect model.ThingId model.SelectList = new SelectList(GetSelectListItems(), "Value", "Text", model.ThingId); return(View(model)); }
/// <summary> /// Initializes a new instance of the <see cref="ExampleView"/> class. /// </summary> /// <param name="viewModel">The view model to inject.</param> /// <remarks> /// This constructor can be used to use view-model injection. /// </remarks> public ExampleView(ExampleViewModel viewModel) : base(viewModel) { InitializeComponent(); }
public MainWindowViewModel(ExampleViewModel example2ViewModel) { }
public async Task <int> UpdateExampleAsync(int Id, ExampleViewModel vm, string User) { return(await _ctx.Database.ExecuteSqlInterpolatedAsync($"[dbo].[spUpdateInsertExample] {Id}, {vm.Active}, {User}")); }
public ActionResult StoreStudentRecord(ExampleViewModel exampleVM) { bool checkExist = false; int userID = (int)Session["userID"]; int exerciseID = exampleVM.StudentRecord.ExerciseID; Exercis currentExercise = db.Exercises.SingleOrDefault(x => x.Id == exerciseID); string submittedAnswer = exampleVM.StudentRecord.TempAnswer; string correctAnswer = ""; if (currentExercise.CorrectAnswer == "Answer1") { correctAnswer = currentExercise.Answer1; } else if (currentExercise.CorrectAnswer == "Answer2") { correctAnswer = currentExercise.Answer2; } else if (currentExercise.CorrectAnswer == "Answer3") { correctAnswer = currentExercise.Answer3; } else if (currentExercise.CorrectAnswer == "Answer4") { correctAnswer = currentExercise.Answer4; } checkExist = db.StudentRecords.Any(x => x.UserID == userID && x.ExerciseID == exerciseID); StudentRecord existingStudentRecord = db.StudentRecords.SingleOrDefault(x => x.UserID == userID && x.ExerciseID == exerciseID); if (checkExist && existingStudentRecord.CorrectAttempt == null) { //if student record exist update the record. if (existingStudentRecord.Attempt2 == null) { existingStudentRecord.Attempt2 = submittedAnswer; if (submittedAnswer == correctAnswer) { existingStudentRecord.CorrectAttempt = "Attempt2"; } } else if (existingStudentRecord.Attempt3 == null) { existingStudentRecord.Attempt3 = submittedAnswer; if (submittedAnswer == correctAnswer) { existingStudentRecord.CorrectAttempt = "Attempt3"; } } else { existingStudentRecord.Attempt4 = submittedAnswer; if (submittedAnswer == correctAnswer) { existingStudentRecord.CorrectAttempt = "Attempt4"; } } existingStudentRecord.Date = DateTime.Now; if (ModelState.IsValid) { db.Entry(existingStudentRecord).State = EntityState.Modified; db.SaveChanges(); } } else if (!checkExist) { //if student record not exist then create a new student record StudentRecord newStudentRecord = new StudentRecord(); newStudentRecord.UserID = userID; newStudentRecord.ExerciseID = exerciseID; newStudentRecord.Attempt1 = submittedAnswer; if (submittedAnswer == correctAnswer) { newStudentRecord.CorrectAttempt = "Attempt1"; } newStudentRecord.Date = DateTime.Now; db.StudentRecords.Add(newStudentRecord); db.SaveChanges(); } //send feedback string feedbackMessage; if (submittedAnswer == correctAnswer) { feedbackMessage = "Well done! Correct Answer."; } else { feedbackMessage = "Wrong Answer!"; } return(RedirectToAction("Show", "Example", new { exampleID = currentExercise.ExampleID, feedback = feedbackMessage })); }
// static constructor static DesignTimeModels() { ExampleViewModelForDesignTime = new ExampleViewModel(new EventAggregator(), new WindowManager()); }
public MainWindow() { DataContext = new ExampleViewModel(); InitializeComponent(); }
public string Submit(ExampleViewModel model) { return(model.Age.ToString()); }
public MainWindow() { InitializeComponent(); m_ViewModel = new ExampleViewModel(); DataContext = m_ViewModel; }
public ExampleView() { Title = "Hours"; var exampleViewModel = new ExampleViewModel(); BindingContext = exampleViewModel; var listView = new ListView { ItemTemplate = new DataTemplate(() => { var jobId = new Label(); jobId.Font = Font.SystemFontOfSize(20); jobId.WidthRequest = 105; jobId.VerticalOptions = LayoutOptions.Center; jobId.SetBinding(Label.TextProperty, "JobId"); jobId.HorizontalOptions = LayoutOptions.StartAndExpand; var jobName = new Label(); jobName.VerticalOptions = LayoutOptions.Center; jobName.SetBinding(Label.TextProperty, "JobName"); jobName.WidthRequest = 175; jobName.HorizontalOptions = LayoutOptions.CenterAndExpand; var hours = new Label(); hours.WidthRequest = 45; hours.VerticalOptions = LayoutOptions.Center; hours.XAlign = TextAlignment.End; hours.HorizontalOptions = LayoutOptions.EndAndExpand; hours.SetBinding(Label.TextProperty, new Binding("Hours", BindingMode.OneWay, new DoubleStringConverter())); var hlayout = new StackLayout(); hlayout.Children.Add(jobId); hlayout.Children.Add(jobName); hlayout.Children.Add(hours); hlayout.Orientation = StackOrientation.Horizontal; return((Cell) new ViewCell(hlayout)); }) }; listView.SetBinding(ListView.ItemSourceProperty, new Binding("Jobs", BindingMode.TwoWay)); var addOneJobButton = new Button { Text = "Add One" }; addOneJobButton.SetBinding(Button.CommandProperty, new Binding("AddOneCommand")); var addTwoJobsButton = new Button { Text = "Add Two" }; addTwoJobsButton.SetBinding(Button.CommandProperty, new Binding("AddTwoCommand")); var layout = new StackLayout { Orientation = StackOrientation.Vertical, VerticalOptions = LayoutOptions.Start, Spacing = 15 }; layout.Children.Add(listView); layout.Children.Add(addOneJobButton); layout.Children.Add(addTwoJobsButton); Content = layout; }
public ExampleViewModel GetExample(string course, string name) { var dir = _bl.GetExampleDir(course, name); var example = _bl.GetExamples(course).Single(i => i.Name == name); var userUID = _bl.GetCurrentUserUID(); var pastResult = _bl.GetExampleResult(userUID, null, course, name); var vmdl = new ExampleViewModel(example); vmdl.SessionID = Guid.NewGuid(); vmdl.StartTime = DateTime.Now; var angabe = Directory.GetFiles(Path.Combine(dir, "text"), "*Angabe_full.md").FirstOrDefault(); if (angabe != null) { vmdl.Instruction = _bl.FixMarkdown(_bl.ReadTextFile(angabe)); } else { _bl.LogParseError(Path.Combine(dir, "text", "*Angabe_full.md"), "No text/*Angabe_full.md file found."); } var use_this_main = Directory.GetFiles(Path.Combine(dir, "src"), "use_this_main.*").FirstOrDefault(); if (use_this_main != null) { vmdl.UseThisMain = _bl.ReadTextFile(use_this_main); } else { vmdl.UseThisMain = ""; } if (pastResult != null && !string.IsNullOrWhiteSpace(userUID)) { try { var store = _submissionStoreFactory(course, "^" + Path.GetFileName(name) + "$", userUID); var main = store.GetItems().FirstOrDefault(i => i.Name == example.FileName); if (main != null) { using (var sr = new StreamReader(main.GetStream())) { vmdl.SourceCode = sr.ReadToEnd(); } } } catch (Exception ex) { _log.Warn("Error getting source code from git repo", ex); } } if (string.IsNullOrWhiteSpace(vmdl.SourceCode)) { vmdl.SourceCode = vmdl.UseThisMain; } vmdl.TestFiles = Directory.GetFiles(Path.Combine(dir, "tests"), "*.in").Select(inFile => { var path = Path.GetDirectoryName(inFile); var result = new TestFileViewModel(); result.Name = Path.GetFileNameWithoutExtension(inFile); result.In = _bl.ReadTextFile(inFile); result.SExp = _bl.ReadTextFile(Path.Combine(path, result.Name + ".sexp")); return(result); }) .OrderBy(i => i.Name) .ToList(); if (vmdl.TestFiles.Count == 0) { _bl.LogParseError(Path.Combine(dir, "tests", "*.in"), "No test files found."); } return(vmdl); }
private void ExampleViewLoaded(object sender, RoutedEventArgs e) { DataContext = new ExampleViewModel(); // DataContext = new ExampleViewModel2(); }
public async Task <IActionResult> Post([FromBody] ExampleViewModel model) => Ok(await _repo.InsertExampleAsync(model, User.FindFirst("uid")?.Value).ConfigureAwait(false));
public async Task <IActionResult> Put(int Id, [FromBody] ExampleViewModel model) => Ok(await _repo.UpdateExampleAsync(Id, model, User.FindFirst("uid")?.Value).ConfigureAwait(false));
public void LogicTest() { var test = new ExampleViewModel(); StringAndObjectBindingAssert("(A == B) ? 10 : 20", test, () => { test.A = 4; test.B = 4; }, "10", 10, () => { test.A = 5; }, "20", 20 ); BoolBindingAssert("!IsChecked", test, () => test.IsChecked = true, false, () => test.IsChecked = false, true ); BoolBindingAssert("not IsChecked", test, () => test.IsChecked = true, false, () => test.IsChecked = false, true ); BoolBindingAssert("!IsChecked and IsFull", test, () => { test.IsChecked = false; test.IsFull = false; }, false, () => { test.IsChecked = false; test.IsFull = true; }, true ); BoolBindingAssert("IsChecked and not IsFull", test, () => { test.IsChecked = true; test.IsFull = true; }, false, () => { test.IsChecked = true; test.IsFull = false; }, true ); BoolBindingAssert("!IsChecked && IsFull", test, () => { test.IsChecked = false; test.IsFull = false; }, false, () => { test.IsChecked = false; test.IsFull = true; }, true ); BoolBindingAssert("!IsChecked or (A > B)", test, () => { test.IsChecked = false; test.A = 20; test.B = 10; }, true, () => { test.IsChecked = true; test.A = 4; }, false ); BoolBindingAssert("IsChecked || !IsFull", test, () => { test.IsChecked = false; test.IsFull = true; }, false, () => { test.IsFull = false; }, true ); BoolBindingAssert("A == 1 and (B <= 5)", test, () => { test.A = 1; test.B = 10; }, false, () => { test.B = 4; }, true ); BoolBindingAssert("A == 1 and (B less= 5)", test, () => { test.A = 1; test.B = 6; }, false, () => { test.B = 5; }, true ); BoolBindingAssert("A == 1 and (B less= 5)", test, () => { test.A = 1; test.B = 5; }, true, () => { test.B = 4; }, true ); BoolBindingAssert("A == 1 and (B less 5)", test, () => { test.A = 1; test.B = 6; }, false, () => { test.B = 5; }, false ); BoolBindingAssert("A == 1 and (B less 5)", test, () => { test.A = 1; test.B = 5; }, false, () => { test.B = 4; }, true ); }
public async Task <int> InsertExampleAsync(ExampleViewModel vm, string User) { return(await _ctx.Database.ExecuteSqlInterpolatedAsync($"[dbo].[spInsertExample] {vm.Id}, {vm.Name}, {vm.DOB}, {vm.Active}, {User}")); }
public void MathTest() { var test = new ExampleViewModel(); StringAndObjectBindingAssert("A", test, () => test.A = 10, "10", (double)10, () => test.A = 20.34, "20.34", 20.34 ); StringAndObjectBindingAssert("A+B+C", test, () => { test.A = 10; test.B = 20; test.C = -2; }, "28", (double)28, () => { test.A = 20.34; test.B = 15; test.C = 12; }, "47.34", 47.34 ); StringAndObjectBindingAssert("A-B-C", test, () => { test.A = 10; test.B = 20; test.C = 5; }, "-15", (double)-15, () => { test.A = 5; test.B = 3; test.C = -7; }, "9", (double)9 ); StringAndObjectBindingAssert("A*(B-C)", test, () => { test.A = 10; test.B = 20; test.C = 5; }, "150", (double)150, () => { test.A = 5.4; test.B = 3; test.C = -8; }, 59.400000000000006.ToString(CultureInfo.InvariantCulture), 59.400000000000006 ); StringAndObjectBindingAssert("2*A-B*0.5", test, () => { test.A = 10; test.B = 20; }, "10", (double)10, () => { test.A = 5.4; test.B = 3; }, "9.3", (double)9.3 ); StringAndObjectBindingAssert("A % B", test, () => { test.A = 10; test.B = 4; }, "2", (double)2, () => { test.A = 12; test.B = 7; }, "5", (double)5 ); //String Format with many values var calcBinding = new CalcBinding.Binding("A/B") { StringFormat = "{0:n2}" }; StringBindingAssert(calcBinding, test, () => { test.A = 10; test.B = 3; }, "3.33", () => { test.A = 20; test.B = -30; }, "-0.67" ); //String Format with one value calcBinding = new CalcBinding.Binding("Math.Sin(A)") { StringFormat = "{0:n2}" }; StringBindingAssert(calcBinding, test, () => { test.A = 10; }, "-0.54", () => { test.A = 20; }, "0.91" ); //many entries of parameter StringAndObjectBindingAssert("A + 0.5*NestedViewModel.A + A + B + C + A - B", test, () => { test.A = 10; test.NestedViewModel.A = 4; test.B = 5; test.C = 2; }, "34", (double)34, () => { test.A = 12; test.NestedViewModel.A = 14; test.B = -2; test.C = 9; }, "52", (double)52 ); StringAndObjectBindingAssert("-4+B", test, () => { test.B = 7; }, "3", 3, () => { test.B = 12; }, "8", 8 ); }
static DocumentEditorViewModelMocks() { ExampleViewModelForDesignTime = new ExampleViewModelForDesignTime(new EventAggregator(), new WindowManager()); }
public void MathBackTest() { var test = new ExampleViewModel(); StringAndObjectBindingBackAssert("A+5", test, () => test.A, "10.2", "-5", 10.2, -5, 5.1999999999999993, (double)-10); StringAndObjectBindingBackAssert("-B+3.2", test, () => test.B, "-3.8", "8.3", -3.8, 8.3, 7, -5); StringAndObjectBindingBackAssert("-4+B", test, () => test.B, "3", "5", 3, 5, 7, 9); StringAndObjectBindingBackAssert("((A+5)*3)/4-32", test, () => test.A, "10.2", "-5", 10.2, -5, 51.266666666666673, (double)31); // Math Console.WriteLine(Math.Sin(31 / 100.0)); StringAndObjectBindingBackAssert("Math.Sin(B/100.0)", test, () => test.B, "0.5", "-0.9", 0.5, -0.9, 52, -111); StringAndObjectBindingBackAssert("Math.Cos(B/100.0)", test, () => test.B, "0.5", "-0.9", 0.5, -0.9, 104, 269); StringAndObjectBindingBackAssert("Math.Tan(B/100.0)", test, () => test.B, "0.5", "-0.9", 0.5, -0.9, 46, -73); //inversed StringAndObjectBindingBackAssert("Math.Asin(B/100.0)", test, () => test.B, "0.5", "-0.9", 0.5, -0.9, 47, -78); StringAndObjectBindingBackAssert("Math.Acos(B/100.0)", test, () => test.B, "0.5", "-0.9", 0.5, -0.9, 87, 62); StringAndObjectBindingBackAssert("Math.Atan(B/100.0)", test, () => test.B, "0.5", "-0.9", 0.5, -0.9, 54, -126); StringAndObjectBindingBackAssert("Math.Pow(B, 4)", test, () => test.B, "16", "256", 16, 256, 2, 4); StringAndObjectBindingBackAssert("Math.Pow(4, B)", test, () => test.B, "16", "1", 16, 1, 2, 0); StringAndObjectBindingBackAssert("Math.Pow(B, -1)", test, () => test.B, "0.1", "0.05", 0.1, 0.05, 10, 20); StringAndObjectBindingBackAssert("Math.Log(B, 5)", test, () => test.B, "4", "-3.4", 4, -3.4, 625, 0); StringAndObjectBindingBackAssert("Math.Log(16, B)", test, () => test.B, "2", "1", 2, 1, 4, 16); StringAndObjectBindingBackAssert("Math.Sin(Math.Cos(B/100.0))", test, () => test.B, "0.8", "-0.2", 0.8, -0.2, 38, 177); }
public void DataTriggerTest() { var viewModel = new ExampleViewModel() { A = 1, B = 1 }; var text = new TextBox { DataContext = viewModel }; var dataTrigger1 = new DataTrigger { Value = true }; dataTrigger1.Setters.Add(new Setter { Property = TextBox.BackgroundProperty, Value = Brushes.Red }); dataTrigger1.Setters.Add(new Setter { Property = TextBox.IsEnabledProperty, Value = true }); var calcBinding1 = new CalcBinding.Binding("(A+B)>10"); var bindingExpression1 = calcBinding1.ProvideValue( new ServiceProviderMock(dataTrigger1, typeof(DataTrigger).GetProperty("Binding"), null) .WithNullXamlSchemaContextProvider() ); dataTrigger1.Binding = bindingExpression1 as BindingBase; var dataTrigger2 = new DataTrigger { Value = true, }; dataTrigger2.Setters.Add(new Setter { Property = TextBox.BackgroundProperty, Value = Brushes.Green }); dataTrigger2.Setters.Add(new Setter { Property = TextBox.IsEnabledProperty, Value = false }); var calcBinding2 = new CalcBinding.Binding("(A+B)<=10"); var bindingExpression2 = calcBinding2.ProvideValue( new ServiceProviderMock(dataTrigger2, typeof(DataTrigger).GetProperty("Binding"), null) .WithNullXamlSchemaContextProvider() ); dataTrigger2.Binding = bindingExpression2 as BindingBase; var style = new Style(); style.Triggers.Add(dataTrigger1); style.Triggers.Add(dataTrigger2); text.Style = style; // act, assert viewModel.A = 5; viewModel.B = 7; Assert.AreEqual(Brushes.Red, text.Background); Assert.AreEqual(true, text.IsEnabled); viewModel.B = 2; Assert.AreEqual(Brushes.Green, text.Background); Assert.AreEqual(false, text.IsEnabled); }
public IActionResult Index() { ExampleViewModel viewModel = new ExampleViewModel(); return(View(viewModel)); }