namespace FeedbackGeneratorQQ
{
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using FeedbackGeneratorQQ.Controls;
using FeedbackGeneratorQQ.Models;
using FeedbackGeneratorQQ.Utils;
public partial class MainWindow
{
private readonly FeedbackGeneratorModel viewModel = new FeedbackGeneratorModel();
public MainWindow()
{
InitializeComponent();
this.CreateAttributesAndSetBindings();
}
private void CreateAttributesAndSetBindings()
{
BinderHelper binderHelper = new BinderHelper(viewModel);
binderHelper.AddBinding(FirstName, TextBox.TextProperty, "FirstName", BindingMode.OneWayToSource);
binderHelper.AddBinding(LastName, TextBox.TextProperty, "LastName", BindingMode.OneWayToSource);
binderHelper.AddBinding(Gender, ComboBox.TextProperty, "Gender");
binderHelper.AddBinding(Result, TextBox.TextProperty, "Result", BindingMode.OneWay);
viewModel.GenerateAttributes(binderHelper, this.AttributesPanel);
}
private async void ButtonGenerateClick(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(viewModel.FirstName) || string.IsNullOrEmpty(viewModel.LastName))
{
viewModel.Result = "First Name and Last Name are required";
}
else
{
viewModel.Result = "Generating...";
viewModel.Result = await viewModel.GenerateResult();
}
}
private void HelpMenuItemClick(object sender, RoutedEventArgs e)
{
Help help = new Help();
help.ShowDialog();
}
}
}