/SuperMemory/Order/Results.cs
C# | 105 lines | 79 code | 26 blank | 0 comment | 4 complexity | 7bb57d3a2e19eac0514d2051a3387ea8 MD5 | raw file
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using Smart.Classes.Bindables;
- using Smart.Classes.Immutable;
-
- namespace SuperMemory.Order
- {
- public struct Params
- {
- public int Rows;
- public int Cols;
- public int Icons;
- public int Seconds;
-
- public Params(int icons, int cols, int rows, int seconds)
- {
- Rows = rows;
- Cols = cols;
- Seconds = seconds;
- Icons = icons;
- }
-
-
- }
-
- public class ResultsList : ImmutableList<Results>
- {
- public static new readonly ResultsList Nil = new ResultsList();
-
- protected ResultsList():base()
- {
- }
-
- static ResultsList()
- {
- Instances = new Dictionary<int, ResultsList>();
- }
-
- protected ResultsList(Results element, ResultsList pre)
- : base(element, pre)
- {
- MaxSeconds = pre.IsNil || element.Seconds > pre.MaxSeconds.Head.Seconds ? this : pre.MaxSeconds;
- MinSeconds = pre.IsNil || element.Seconds < pre.MinSeconds.Head.Seconds ? this : pre.MinSeconds;
- MaxFailures = pre.IsNil || element.Failures > pre.MaxFailures.Head.Failures ? this : pre.MaxFailures;
- MinFailures = pre.IsNil || element.Failures < pre.MinFailures.Head.Failures ? this : pre.MinFailures;
- }
-
- public static Dictionary<int, ResultsList> Instances { get; private set; }
-
-
- readonly public ResultsList MinSeconds;
- readonly public ResultsList MaxSeconds;
- readonly public ResultsList MinFailures;
- readonly public ResultsList MaxFailures;
-
- public Results Current
- {
- get { return this.Head; }
- }
-
- public new ResultsList Add(Results element)
- {
- var res = new ResultsList(element, this);
- return res;
- }
- }
-
-
- public class Results:Bindable
- {
- private int _seconds;
- public int Seconds
- {
- get { return _seconds; }
- set { _seconds = value; this.RaisePropertyChanged(i=>this.Seconds); }
- }
-
- private int _failures;
-
- public int Failures
- {
- get { return _failures; }
- set { _failures = value; this.RaisePropertyChanged(i=>this.Failures); }
- }
-
- private string _userName = "";
-
- public String UserName
- {
- get { return _userName; }
- set { _userName = value; this.RaisePropertyChanged(i=>this.UserName); }
- }
-
-
- public Results()
- {
- }
-
-
-
-
-
- }
- }