public BaseTest() { dal = FakeDAL.OurFakeDal(); underrail = d_Underrail.Generate(dal); var build = new Build { Name = "New Build", Game = underrail }; dal.Save(build); manager = new BuildDefinitionManager(dal, underrail, build); }
public MultiParamTypeViewModel(FakeDAL dal, BuildParameterType t, BuildDefinitionManager manager) : base(dal, t, manager) { // Edit defaults ChainChange = false; CellChangeAmount = 1; TappedCell = null; Increase = new MvxCommand(() => Change(+CellChangeAmount)); Decrease = new MvxCommand(() => Change(-CellChangeAmount)); // our params var oprms = dal.Get <BuildParameter>().Where(x => x.Type.id == t.id && x.Game.id == t.Game.id); // Set up cols, grouped IList <CHVM> grp = new List <CHVM>(), prm = new List <CHVM>(); var gg = oprms.GroupBy(x => x.Category); foreach (var pg in gg) { bool frs = true; foreach (var p in pg) { grp.Add(frs ? new CHVM { CSpan = pg.Count(), Name = pg.Key } : null); prm.Add(new CHVM { CSpan = 1, Name = p.Name, Sub = true }); frs = false; } } CHeaders = grp.Where(x => x != null && x.Name != null).Any() ? new[] { grp, prm }.ToList() : new[] { prm }.ToList(); // cells, same order as col headers! var tapCommand = new MvxCommand <LevelParamViewModel>(lp => { if (TappedCell != null) { TappedCell.IsSelected = false; } lp.IsSelected = true; TappedCell = lp; CanIncrease = CanChange(+CellChangeAmount); CanDecrease = CanChange(-CellChangeAmount); }); var plk = oprms.ToDictionary(x => x.Name); Cells = Enumerable.Range(1, t.Game.MaxLevel) .Select(l => prm.Select(x => new LevelParamViewModel(dal, plk[x.Name], l, manager.build, tapCommand)) .ToList() as IList <LevelParamViewModel> ) .ToList(); }
public BuildViewModel(FakeDAL dal, Build build) { this.build = build; this.dal = dal; id = build.id; Name = build.Name; Game = build.Game.Name; manager = new BuildDefinitionManager(dal, build.Game, build); ParameterTypes = new MvxObservableCollection <ParamTypeViewModel>(dal.Get <BuildParameterType>() .Where(x => x.Game.id == build.Game.id) .Select(GetVM)).Concat(new[] { new Lolmodek(dal, new BuildParameterType { Game = build.Game, Name = "HAHA" }, manager) }).ToList(); }
public ParamTypeViewModel(FakeDAL dal, BuildParameterType t, BuildDefinitionManager manager) { this.dal = dal; this.manager = manager; this.t = t; Name = t.Name; Type = GetType().Name; var Popup = new MvxCommand <string>(s => StatusModal = s); ClosePopup = new MvxCommand(() => StatusModal = null); // Row Headers RHeaders = Enumerable.Range(1, t.Game.MaxLevel) .Select(x => { var xx = EvaluateLevelStats(manager.LevelStatus(t, x), x); return(new[] { new RHVM { Level = x, Status = xx.status, Icon = xx.icon, StatusTap = Popup } }.ToList() as IList <RHVM>); }) .ToList(); manager.ParameterChanged += EvaluateStatsAroundLevel; }
public BinaryParamTypeViewModel(FakeDAL dal, BuildParameterType t, BuildDefinitionManager manager) : base(dal, t, manager) { Cells = Enumerable.Range(1, t.Game.MaxLevel) .Select(getLevel) .ToList(); }
public Lolmodek(FakeDAL dal, BuildParameterType t, BuildDefinitionManager manager) : base(dal, t, manager) { }