public bool validateItems(IEnumerable <PendingOrder> pendingProducts, bool validOrder) { validOrder = true; foreach (var product in pendingProducts) { var validQuantity = (product.Quantity >= product.RemainingQty); var validOrderQuantity = (product.RemainingQty >= product.OrderQuantity); var hasntLeft = new CheckSystem().VerifyDate(product.Departure); if (!validOrderQuantity || !validQuantity || !hasntLeft) { validOrder = false; return(validOrder); } } return(validOrder); }
public SystemCheckerGameView(IPlayniteAPI PlayniteApi, string PluginUserDataPath, Game GameSelected) { this.PlayniteApi = PlayniteApi; InitializeComponent(); // Local SystemConfiguration systemConfiguration = PluginDatabase.Database.PC; LocalOs = systemConfiguration.Os; LocalCpu = systemConfiguration.Cpu; LocalRamUsage = systemConfiguration.RamUsage; LocalGpu = systemConfiguration.GpuName; LocalDisks.ItemsSource = systemConfiguration.Disks; // Minimum & Recommanded GameRequierements gameRequierements = PluginDatabase.Get(GameSelected, true); Requirement Minimum = gameRequierements.GetMinimum(); Requirement Recommanded = gameRequierements.GetRecommanded(); if (Minimum.HasData) { MinimumOs = "Windows " + string.Join(" / ", Minimum.Os); MinimumCpu = Minimum.Cpu; MinimumRamUsage = Minimum.RamUsage; MinimumGpu = Minimum.Gpu; MinimumStorage = Minimum.StorageUsage; } if (Recommanded.HasData) { RecommandedOs = "Windows " + string.Join(" / ", Recommanded.Os); RecommandedCpu = Recommanded.Cpu; RecommandedRamUsage = Recommanded.RamUsage; RecommandedGpu = Recommanded.Gpu; RecommandedStorage = Recommanded.StorageUsage; } // Check config string IsOk = ""; string IsKo = ""; CheckSystem CheckMinimum = SystemApi.CheckConfig(Minimum, systemConfiguration); if (Minimum.HasData) { MinimumCheckOs = IsKo; if (CheckMinimum.CheckOs) { MinimumCheckOs = IsOk; } if (Minimum.Os.Count == 0) { MinimumCheckOs = string.Empty; } MinimumCheckCpu = IsKo; if (CheckMinimum.CheckCpu) { MinimumCheckCpu = IsOk; } if (Minimum.Cpu.Count == 0) { MinimumCheckCpu = string.Empty; } MinimumCheckRam = IsKo; if (CheckMinimum.CheckRam) { MinimumCheckRam = IsOk; } if (Minimum.Ram == 0) { MinimumCheckRam = string.Empty; } MinimumCheckGpu = IsKo; if (CheckMinimum.CheckGpu) { MinimumCheckGpu = IsOk; } if (Minimum.Gpu.Count == 0) { MinimumCheckGpu = string.Empty; } MinimumCheckStorage = IsKo; if (CheckMinimum.CheckStorage) { MinimumCheckStorage = IsOk; } if (Minimum.Storage == 0) { MinimumCheckStorage = string.Empty; } } CheckSystem CheckRecommanded = SystemApi.CheckConfig(Recommanded, systemConfiguration); if (Recommanded.HasData) { RecommandedCheckOs = IsKo; if (CheckRecommanded.CheckOs) { RecommandedCheckOs = IsOk; } if (Recommanded.Os.Count == 0) { RecommandedCheckOs = string.Empty; } RecommandedCheckCpu = IsKo; if (CheckRecommanded.CheckCpu) { RecommandedCheckCpu = IsOk; } if (Recommanded.Cpu.Count == 0) { RecommandedCheckCpu = string.Empty; } RecommandedCheckRam = IsKo; if (CheckRecommanded.CheckRam) { RecommandedCheckRam = IsOk; } if (Recommanded.Ram == 0) { RecommandedCheckRam = string.Empty; } RecommandedCheckGpu = IsKo; if (CheckRecommanded.CheckGpu) { RecommandedCheckGpu = IsOk; } if (Recommanded.Gpu.Count == 0) { RecommandedCheckGpu = string.Empty; } RecommandedCheckStorage = IsKo; if (CheckRecommanded.CheckStorage) { RecommandedCheckStorage = IsOk; } if (Recommanded.Storage == 0) { RecommandedCheckStorage = string.Empty; } } btLink.Visibility = System.Windows.Visibility.Hidden; if (Minimum.HasData || Recommanded.HasData) { btLink.Visibility = System.Windows.Visibility.Visible; btLink.Tag = gameRequierements.Link; } #if DEBUG logger.Debug("CheckMinimum" + JsonConvert.SerializeObject(CheckMinimum)); logger.Debug("CheckRecommanded" + JsonConvert.SerializeObject(CheckRecommanded)); #endif if (!gameRequierements.SourceGameName.IsNullOrEmpty() && !gameRequierements.SourceName.IsNullOrEmpty()) { ScSourceName = resources.GetString("LOCSourceLabel") + ": " + gameRequierements.SourceGameName + $" ({gameRequierements.SourceName})"; } else { ScSourceName = resources.GetString("LOCSourceLabel") + ": " + GameSelected.Name; } DataContext = this; }
protected void OnPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { try { if (e.PropertyName == "GameSelectedData" || e.PropertyName == "PluginSettings") { this.Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new ThreadStart(delegate { OnlyIcon.Foreground = SystemCheckerUI.DefaultBtForeground; if (PluginDatabase.GameSelectedData.HasData) { this.Visibility = Visibility.Visible; } else { this.Visibility = Visibility.Collapsed; return; } })); this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new ThreadStart(delegate { CheckSystem CheckMinimum = SystemCheckerUI.CheckMinimum; CheckSystem CheckRecommanded = SystemCheckerUI.CheckRecommanded; if (CheckMinimum.AllOk != null) { if (!(bool)CheckMinimum.AllOk) { OnlyIcon.Foreground = Brushes.Red; } if ((bool)CheckMinimum.AllOk) { OnlyIcon.Foreground = Brushes.Orange; if (CheckRecommanded.AllOk == null) { OnlyIcon.Foreground = Brushes.Green; } } } if (CheckRecommanded.AllOk != null) { if ((bool)CheckRecommanded.AllOk) { OnlyIcon.Foreground = Brushes.Green; } } })); } else { this.Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new ThreadStart(delegate { if (!PluginDatabase.IsViewOpen) { this.Visibility = Visibility.Collapsed; } })); } } catch (Exception ex) { Common.LogError(ex, "SystemChecker"); } }