public ScenarioModel(ScenarioBase scenario) { Scenario = scenario; VisualSettings = Repository.VisualSettings.FirstOrDefault(x => x.ScenarioId == scenario.Id); if (VisualSettings == null) { Repository.Add(VisualSettings = new UserVisualSettings() { UserId = UsersRepository.SystemUser.Id, ScenarioId = scenario.Id, VisualIndex = (Repository.VisualSettings.Any() ? Repository.VisualSettings.Max(x => x.VisualIndex) : 0) + 1 }); VisualSettings.AddictionalData.Set(Icon1Key, GetStandardIcon1()); VisualSettings.AddictionalData.Set(Icon2Key, GetStandardIcon2()); Repository.Save(); } Scenario.SetOnStateChanged(ScenarioValueChanged); scenario.SetOnAvailabilityChanged(ScenarioAvailabilityChanged); Scenario.CalculateCurrentValueAsync( ViewScenarioActionSourceCrutch, (value) => { _value = value; _smoothValue = ScenarioValueDouble; OnPropertyChanged(nameof(ScenarioValue)); OnPropertyChanged(nameof(SmoothChangeValue)); }, null); OnPropertyChanged(nameof(Icon1)); OnPropertyChanged(nameof(Icon2)); OnPropertyChanged(nameof(AllowClick)); }
private Thickness CreateControlMargin(UserVisualSettings visualSettings) { var position = CreatePositionByIndex(CreateRealVisualIndex(visualSettings)); return(new Thickness( ElementMargin * (1 + position.Item1) + ElementWidth * position.Item1, ElementMargin * (1 + position.Item2) + ElementHeight * position.Item2, 0, 0)); }
public void SaveVisualSettings(UserVisualSettings visualSettings) { var user = GetCurrentUser(); visualSettings.UserId = user.Id; VisualSettings.Add(visualSettings); VisualSettings.Save(); }
private Thickness CreateControlMargin(UserVisualSettings visualSettings) { var allVisualSettings = GetCurrentScenarios() .Select(x => x.VisualSettings) .OrderBy(z => z.VisualIndex) .ToList(); var realVisualIndex = allVisualSettings.IndexOf(visualSettings); var position = CreatePositionByIndex(realVisualIndex); return(new Thickness( ElementMargin * (1 + position.Item1) + ElementWidth * position.Item1, ElementMargin * (1 + position.Item2) + ElementHeight * position.Item2, 0, 0)); }
public void SaveVisualSettings(Encrypted <UserVisualSettings> visualSettings) { Handle((user) => { var decryptedVS = visualSettings.Decrypt(_secretKey); decryptedVS = new UserVisualSettings() { AddictionalData = decryptedVS.AddictionalData, VisualIndex = decryptedVS.VisualIndex, ScenarioId = decryptedVS.ScenarioId, UserId = user.Id }; VisualSettings.Add(decryptedVS); VisualSettings.Save(); }); }
private int CreateRealVisualIndex(UserVisualSettings visualSettings) { var scenarios = ScenariosRepository.Scenarios; if (!IsConstructorMode) { var scenarioActionSource = new ScenarioActionSource(UsersRepository.SystemUser, ScenarioStartupSource.SystemUI, ScenarioAction.ViewValue); scenarios = scenarios.Where(x => x.IsAccessAvailable(scenarioActionSource)).ToArray(); } var allVisualSettings = VisualSettingsRepository .VisualSettings .Where(x => x.UserId.Equals(UsersRepository.SystemUser.Id) && scenarios.Any(z => z.Id.Equals(x.ScenarioId))) .OrderBy(z => z.VisualIndex) .ToList(); var realVisualIndex = allVisualSettings.IndexOf(visualSettings); return(realVisualIndex); }
public void Update(UserVisualSettings settings) { Add(settings); //operations equals }
public void Remove(UserVisualSettings settings) { _allSettings.RemoveAll(x => x.SameAs(settings)); }