// We want to dynamically generate the buttons and their text based on the number of "IDs" gathered in the View Model // Unfortunately, XAML doesn't support looping statements of any kind, so I had to move the parent XAML code into this code-behind class // This feels messy, but I'm sure there's a better way by creating a custom control? private Grid CreateGridOfButtons(MeasurementsViewModel vmContext) { var tileGrid = new Grid { Padding = ButtonGridPadding, VerticalOptions = ButtonGridVertOptions, HorizontalOptions = ButtonGridHorzOptions, RowSpacing = ButtonGridRowSpacing, ColumnSpacing = ButtonGridColumnSpacing, RowDefinitions = CreateRowDefinitions(vmContext), ColumnDefinitions = CreateColumnDefinitions(vmContext) }; for (var i = 0; i < vmContext.GetIDsCount(); i++) { tileGrid.Children.Add(new ThemedPopupButton { Text = vmContext.GetChildIDText(i), Command = vmContext.AlertDataPopup(i), BackgroundColor = ThemedNavigationButton.ButtonBackgroundColor, TextColor = ThemedNavigationButton.ButtonTextColor, FontSize = ThemedNavigationButton.ButtonFontSize, FontAttributes = ThemedNavigationButton.ButtonFontAttributes }, 0, i); } return(tileGrid); }
public MeasurementsPage() { InitializeComponent(); if (Device.RuntimePlatform == Device.UWP || Device.RuntimePlatform == Device.iOS) { MeasurementsListView.Header = null; } _viewModel = new MeasurementsViewModel(); ContainerStackLayout.BindingContext = _viewModel; BindingContext = _viewModel; MessagingCenter.Subscribe <SelectProgenyPage>(this, "Reload", async(sender) => { _reload = true; await SetUserAndProgeny(); _viewModel.PageNumber = 1; await Reload(); }); MessagingCenter.Subscribe <AccountViewModel>(this, "Reload", async(sender) => { _reload = true; await SetUserAndProgeny(); _viewModel.PageNumber = 1; await Reload(); }); }
public async Task <IActionResult> AddMeasure(int?id) { if (id == null) { return(NotFound()); } var measure = await _dataContext.Flowers ///cambie de flowers .Include(f => f.Home) .FirstOrDefaultAsync(f => f.Id == id.Value); //pegale el async firs of default if (measure == null) { return(NotFound()); } var model = new MeasurementsViewModel { FlowerId = measure.Id, MeasureDate = DateTime.Today, Measurers = _combosHelper.GetComboMeasurers(), }; return(View(model)); }
public LiveMeasurementSettingsViewModel(MeasurementsViewModel parentViewModel, MeasurementViewModel measurementViewModel) { this.parentViewModel = parentViewModel; this.measurementViewModel = measurementViewModel; this._graphBoundLower = measurementViewModel.Settings.GraphLowerBound; this._graphBoundUpper = measurementViewModel.Settings.GraphUpperBound; this._MinordBLimit = measurementViewModel.Settings.MinorDBLimit; this._MajordBLimit = measurementViewModel.Settings.MajorDBLimit; }
private ColumnDefinitionCollection CreateColumnDefinitions(MeasurementsViewModel vmContext) { var columnDefinitionCollection = new ColumnDefinitionCollection(); columnDefinitionCollection.Add(new ColumnDefinition { Width = ButtonGridColumnDefWidth }); return(columnDefinitionCollection); }
public MeasurementsPage() { InitializeComponent(); BindingContext = _vm = new MeasurementsViewModel(); MessagingCenter.Subscribe <MeasurementDetailViewModel, Measurement>(this, "DeleteCMD", (sender, arg) => { DisplayAlert(sender.ToString(), arg.ID.ToString(), "Ok"); }); }
public async Task <Measurement> ToMeasureAsync(MeasurementsViewModel model, bool isNew) { return(new Measurement { Measure = $"{model.Measure}", MeasureDate = model.MeasureDate.ToUniversalTime(), Id = isNew ? 0 : model.Id, Flower = await _dataContext.Flowers.FindAsync(model.FlowerId), Measurer = await _dataContext.Measurers.FindAsync(model.MeasurerId), }); }
private RowDefinitionCollection CreateRowDefinitions(MeasurementsViewModel vmContext) { var rowDefinitionCollection = new RowDefinitionCollection(); for (var i = 0; i < vmContext.GetIDsCount(); i++) { rowDefinitionCollection.Add(new RowDefinition { Height = ButtonGridRowDefHeight }); } return(rowDefinitionCollection); }
public NewMeasurementViewModel(MeasurementsViewModel mainViewModel) { MainViewModel = mainViewModel; ProjectName = "Untitled - " + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss"); UseLocal = true; IsRemoteTested = false; LocalDevices = new ObservableCollection <string>(); LocalDeviceTimeOut = 800; MajorIntervalSeconds = 0.ToString(); MinorIntervalSeconds = 0.ToString(); MajorIntervalMinutes = 15.ToString(); MinorIntervalMinutes = 1.ToString(); MajorIntervalHours = 0.ToString(); MinorIntervalHours = 0.ToString(); GraphBoundUpper = 120.ToString(); GraphBoundLower = 40.ToString(); MinorDBLimit = 98.ToString(); MajorDBLimit = 95.ToString(); ClockItems = ClockItemsFactory.AllClockItems; //#if DEBUG // MajorIntervalSeconds = 0.ToString(); // MinorIntervalSeconds = 30.ToString(); // MajorIntervalMinutes = 1.ToString(); // MinorIntervalMinutes = 0.ToString(); // MajorIntervalHours = 0.ToString(); // MinorIntervalHours = 0.ToString(); // MinorDBLimit = 70.ToString(); // MajorDBLimit = 65.ToString(); //#endif MinorClockMainItem = ClockItems.FirstOrDefault(x => x.GetType() == typeof(LatestIntervalClockItem)); MinorClockSecondaryItem = ClockItems.FirstOrDefault(x => x.GetType() == typeof(LiveLAegClockItem)); MajorClockMainItem = ClockItems.FirstOrDefault(x => x.GetType() == typeof(BuildingReadingClockItem)); MajorClockSecondaryItem = ClockItems.FirstOrDefault(x => x.GetType() == typeof(InactiveClockItem)); RemoteIpAddress = "localhost"; RemotePort = DefaultPort.ToString(); //// Find an avalible port while (mainViewModel.Measurements.Any(x => x.Settings.Port == DefaultPort)) { logger.Trace("Port {0} is in use, trying next.", DefaultPort); DefaultPort++; } ListenPort = DefaultPort.ToString(); }
public async Task <IActionResult> EditMeasure(MeasurementsViewModel model) { if (ModelState.IsValid) { var measure = await _converterHelper.ToMeasureAsync(model, false); _dataContext.Measurements.Update(measure); await _dataContext.SaveChangesAsync(); return(RedirectToAction($"DetailsMeasure/{model.FlowerId}")); } model.Measurers = _combosHelper.GetComboMeasurers(); return(View(model)); }
protected override void show(bool reload) { //if (ApplicationState.Current.TrainingDay.TrainingDay.Size == null) //{ // var entry = new SizeEntryDTO(); // entry.Wymiary = new WymiaryDTO(); // entry.Wymiary.Time.DateTime = DateTime.Now; // ApplicationState.Current.TrainingDay.TrainingDay.Objects.Add(entry); // entry.TrainingDay = ApplicationState.Current.TrainingDay.TrainingDay; //} viewModel = new MeasurementsViewModel(Entry); sizeCtrl.ReadOnly = !viewModel.EditMode; timeCtrl.ReadOnly = !viewModel.EditMode; DataContext = viewModel; sizeCtrl.Fill(Entry.Wymiary, ApplicationState.Current.CurrentBrowsingTrainingDays); // header.Text = viewModel.TrainingDate; }
protected override void OnStartup(StartupEventArgs e) { Shell shell = new Shell("АИК"); var LogWindow = new LogginWindowView(); var LogWindowViewModel = new LoggingWindowViewModel(shell); var InstrumentalView = new InstrumentalView(); var SettingsView = new SettingsView(); var MeasurementsView = new MeasurementsView(); var DataBaseView = new DataBaseView(); var LogsView = new LogsView(); var CalibrationView = new CalibrationView(); var WizardView = new WizardView(); var ContextMediator = new ContextMediator(); LogWindow.DataContext = LogWindowViewModel; LogWindow.Show(); //LogWindow var SubStep1 = new ExecutableWizardStepBuilder() .SetName("SubStep1.1") .SetDescription("description for substep 1.1") .SetReadOnly(false) .SetSelectable(true) .AddAction((s, c, o) => { try { } catch (System.Exception) { throw; } finally { } }) .Build(); var SubStep2 = new ExecutableWizardStepBuilder() .SetName("SubStep1.2") .SetDescription("description for substep 1.2") .SetReadOnly(false) .SetSelectable(true) .AddAction((s, c, o) => { try { } catch (System.Exception) { throw; } finally { } }) .Build(); var SubSubStep1 = new ExecutableWizardStepBuilder() .SetName("SubSubStep1.3.1") .SetDescription("description for subsubstep 1.3.1") .SetReadOnly(false) .SetSelectable(true) .AddAction((s, c, o) => { try { } catch (System.Exception) { throw; } finally { } }) .Build(); var SubSubStep2 = new ExecutableWizardStepBuilder() .SetName("SubSubStep1.3.2") .SetDescription("description for subsubstep 1.3.2") .SetReadOnly(false) .SetSelectable(true) .AddAction((s, c, o) => { try { } catch (System.Exception) { throw; } finally { } }) .Build(); var GrouppedStep1_3 = new WizardStepGroupBuilder() .SetName("SubGruop1.3") .SetDescription("description for subgroup 1.3") .AddChildren(SubSubStep1) .AddChildren(SubSubStep2) .Build(); var GrouppedStep1 = new WizardStepGroupBuilder() .SetName("Group1") .SetDescription("description for subgroup 1") .AddChildren(SubStep1) .AddChildren(SubStep2) .AddChildren(GrouppedStep1_3) .Build(); var Step2 = new ExecutableWizardStepBuilder() .SetName("Step2") .SetIconName("Settings") .SetDescription("description for step 2") .SetReadOnly(false) .SetSelectable(true) .AddBoundedStep(SubSubStep1) .AddBoundedStep(GrouppedStep1) .AddAction((s, c, o) => { try { } catch (System.Exception) { throw; } finally { } }) .Build(); var SubStep3_1 = new ExecutableWizardStepBuilder() .SetName("SubStep3.1") .SetDescription("description for substep 3.1") .SetReadOnly(false) .SetSelectable(true) .AddAction((s, c, o) => { try { } catch (System.Exception) { throw; } finally { } }) .Build(); var GrouppedStep3 = new WizardStepGroupBuilder() .SetName("Group3") .SetDescription("description for group 3") .AddChildren(SubStep3_1) .Build(); var Step4 = new ExecutableWizardStepBuilder() .SetName("Step4") .SetIconName("Settings") .SetDescription("description for step 2") .SetReadOnly(false) .SetSelectable(true) .AddAction((s, c, o) => { try { } catch (System.Exception) { throw; } finally { } }) .Last(true) .Build(); var TestData = new TestData(); var SettingsGroupsContainer = new SettingsGroupsContainer( new SettingsGroup("Group 1", new DoubleSetting() { Name = "Setting1.1", Dimention = "Hz", Visible = true }, new IntSetting() { Name = "Setting1.2", Dimention = "Ohm", Visible = true }), new SettingsGroup("Group 2", new DoubleSetting() { Name = "Setting2.1", Dimention = "dB", Visible = true }, new IntSetting() { Name = "Setting2.2", Dimention = "Sec", Visible = true }), new SettingsGroup("Group 3", new DoubleSetting() { Name = "Setting3.1", Dimention = "mV", Visible = true }, new IntSetting() { Name = "Setting3.2", Dimention = "Rad", Visible = true })); var InstrumentalViewModel = new InstrumentalViewModel("Модуль приборов", "appbar_power", ContextMediator, new SignalAnalyzer(), new SignalGenerator()); var SettingsViewModel = new SettingsViewModel("Модуль настроек", "appbar_settings", ContextMediator, SettingsGroupsContainer.SettingsGroups); var MeasurementsViewModel = new MeasurementsViewModel("Автоматический режим", "appbar_axis_x", ContextMediator, TestData) { SettingsList = SettingsGroupsContainer.SettingsGroups }; var DataBaseViewModel = new DataBaseViewModel("База данных", "appbar_database", ContextMediator); var LogsViewModel = new LogsViewModel("Лог", "appbar_disk", ContextMediator); var SetupWizard = new SetupWizardBuilder() .AddStep(GrouppedStep1) .AddStep(Step2) .AddStep(GrouppedStep3) .AddStep(Step4) .ConfigureWizard() .Build(); LogWindow.DataContext = LogWindowViewModel; InstrumentalView.DataContext = InstrumentalViewModel; SettingsView.DataContext = SettingsViewModel; MeasurementsView.DataContext = MeasurementsViewModel; DataBaseView.DataContext = DataBaseViewModel; LogsView.DataContext = LogsViewModel; WizardView.DataContext = SetupWizard; var CalibrationViewModel = new CalibrationViewModel("Модуль калибровки", "appbar_scale", ContextMediator, WizardView, SetupWizard); CalibrationView.DataContext = CalibrationViewModel; ContextMediator .AddModuleReference(InstrumentalViewModel) .AddModuleReference(SettingsViewModel) .AddModuleReference(CalibrationViewModel) .AddModuleReference(MeasurementsViewModel) .AddModuleReference(DataBaseViewModel) .AddModuleReference(LogsViewModel); shell .AddView(InstrumentalView) .AddView(SettingsView) .AddView(CalibrationView) .AddView(MeasurementsView) .AddView(DataBaseView) .AddView(LogsView); //var mainWindow = new MainWindow(); //mainWindow.DataContext = shell; }
public MeasurementsHandler(MeasurementsViewModel measurementsViewModel) { MeasurementsViewM = measurementsViewModel; }
public MainViewModel() { ShowControls = false; logger.Info("Audio View started at {0}", DateTime.Now); SettingsViewModel = SettingsViewModel.Instance; HistoryViewModel = new HistoryViewModel(); MeasurementsViewModel = new MeasurementsViewModel(this); service = new UserService(); User user = getAuthData(); if (user == null) { NeedLogIn = true; LogInFailed = false; LogInExpired = false; ShowControls = false; } else { // Verify expired try { //var audioViewEntities = new AudioViewEntities(); //audioViewEntities.Users.Where(x => x.username == "kasper").First(); var userResult = service.GetUserSync(user.UserName); if (userResult == null) { NeedLogIn = true; LogInFailed = true; LogInExpired = false; ShowControls = false; IsLoading = false; } else { if (user.Expires != null && userResult.Expires < DateTime.Now) { NeedLogIn = true; LogInFailed = false; LogInExpired = true; ShowControls = false; IsLoading = false; } else { NeedLogIn = false; LogInFailed = false; LogInExpired = false; ShowControls = true; IsLoading = false; } } } catch (Exception exp) { logger.Error(exp); if (user.Expires != null && user.Expires < DateTime.Now) { NeedLogIn = true; LogInFailed = true; LogInExpired = false; ShowControls = false; IsLoading = false; } else { // Allow user in NeedLogIn = false; LogInFailed = false; LogInExpired = false; ShowControls = true; IsLoading = false; } } } // Debug for me MeasurementsViewModel.NewViewModel = new NewMeasurementViewModel(MeasurementsViewModel); // Load offline files DataStorageMeterListener.UploadLocalFiles(); }