private void BoilTimeTextBox_TextChanged(object sender, TextChangedEventArgs e) { BoilTimeTextBox = (TextBox)(sender); int val = 0; if (BoilTimeTextBox.Text.Equals(String.Empty)) { return; } if (Grist != null && Int32.TryParse(BoilTimeTextBox.Text, out val)) { BoilTime = val; Volumes.BoilOffLoss = GrainfatherCalculator.CalcBoilOffVolume(BoilTime); recalculateGrainBill(); } }
private void BatchSizeVolumeTextBox_TextChanged(object sender, TextChangedEventArgs e) { BatchSizeVolumeTextBox = (TextBox)(sender); double val = 0; if (BatchSizeVolumeTextBox.Text.Equals(String.Empty) || Volumes == null) { return; } if (Grist != null && Double.TryParse(BatchSizeVolumeTextBox.Text, out val)) { if (val > (GrainfatherCalculator.GRAINFATHER_MAX_PREBOILVOLUME - GrainfatherCalculator.CalcBoilOffVolume(BoilTime))) { MessageBox.Show("Batch size is to big. Please reduce it"); return; } } Volumes.FinalBatchVolume = val; recalculateGrainBill(); }
public MainWindow() { InitializeComponent(); var assembly = Assembly.GetExecutingAssembly(); var path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); var fullpath = String.Format("{0}\\{1}", path, assembly.GetName().Name); try { if (!Directory.Exists(fullpath)) { Directory.CreateDirectory(fullpath); } } catch (Exception e) { MessageBox.Show(String.Format("Unable to create {0}. Exception {1}", fullpath, e)); } HopsRepo = new HopsRepository(); MaltRepo = new FermentableRepository(); Grist = new ObservableCollection <GristPart>(); MaltsListView.ItemsSource = Grist; BoilHops = new ObservableCollection <HopAddition>(); HopsListView.ItemsSource = BoilHops; MashProfileList = new ObservableCollection <Domain.MashProfileStep>(); MashStepListView.ItemsSource = MashProfileList; OtherIngredientsList = new ObservableCollection <OtherIngredient>(); OtherIngredientsListView.ItemsSource = OtherIngredientsList; OriginalGravity = 1.05; BoilTime = 60; Volumes = new BrewVolumes(); Volumes.BoilOffLoss = GrainfatherCalculator.CalcBoilOffVolume(BoilTime); Volumes.FinalBatchVolume = 25; Volumes.BoilerToFermentorLoss = GrainfatherCalculator.GRAINFATHER_BOILER_TO_FERMENTOR_LOSS; Volumes.PreBoilTapOff = 0; TopUpMashWater = 0; gfc = new GrainfatherCalculator(); gfc.MashEfficiency = (double)WpfApplication1.Properties.Settings.Default["MashEfficiency"]; EstAtten = 78; updateGuiText(); GrainBrainMenuItem.IsEnabled = false; dispatcherTimer = new DispatcherTimer(); dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); dispatcherTimer.Interval = new TimeSpan(0, 0, 5); dispatcherTimer.Start(); MashProfileList.CollectionChanged += this.OnCollectionChanged; BatchSizeVolumeTextBox.Text = Volumes.FinalBatchVolume.ToString(); ExpectedOriginalGravityTextBox.Text = OriginalGravity.ToString(); BoilTimeTextBox.Text = BoilTime.ToString(); TopUpMashWaterVolumeTextBox.Text = TopUpMashWater.ToString(); PreBoilVolumeTextBox.Text = Volumes.PreBoilTapOff.ToString(); }