private void CreateInstances() { if (!ValidateForm()) { return; } var result = MessageBox.Show("Создать количество экземпляров: " + Instances.Count + Environment.NewLine + "Общая стоимость в час: " + Math.Round(Instances.Sum(p => p.Price.Hourly), 3) + " $" , "", MessageBoxButton.YesNo); if (result != MessageBoxResult.Yes) { return; } foreach (var instance in Instances) { InstancesStore.Add(new Ec2Instance { Id = Guid.NewGuid(), Parameters = instance.Parameters, AlgoName = AlgoName, Type = instance.Price.Model, Price = instance.Price.Hourly, Image = instance.Image.Image, MaxMoneyAmount = instance.MaxAmount }); } NavigateToInstances(); }
/// <summary> /// Загружает экземпляры vm из хранилища /// </summary> private void LoadInstances() { var instances = InstancesStore.Get(); foreach (var instance in instances) { Instances.Add(new Ec2InstanceViewModel(instance)); } }
public Ec2InstancesViewModel(InstancesStore instancesStore, InstancesService instancesService, AlgoStorageService algoStorageService, InstancesWatcher instancesWatcher) { Instances = new ObservableCollection <Ec2InstanceViewModel>(); NavigateToCreateInstancesCommand = new Command(NavigateToCreateInstances); StartInstancesCommand = new Command(StartInstances); InstancesStore = instancesStore; InstancesService = instancesService; AlgoStorageService = algoStorageService; InstancesWatcher = instancesWatcher; }
public CreateEc2InstancesViewModel(PricingService pricingService, ImagesService imagesService, InstancesStore instancesStore) { Prices = new ObservableCollection <Ec2InstancePriceViewModel>(); Instances = new ObservableCollection <CreateEc2InstanceViewModel>(); Instances.Add(new CreateEc2InstanceViewModel()); Images = new ObservableCollection <Ec2InstanceImageViewModel>(); AppendInstanceCommand = new Command(AppendInstance); CreateInstancesCommand = new Command(CreateInstances); LoadPricesCommand = new Command(LoadPrices); PricingService = pricingService; ImagesService = imagesService; InstancesStore = instancesStore; }