public AddEditAlarmConsequenceViewModel() { //NEW AlarmConsequence = new ControlSystemAlarmConsequence(); LoadData(); InitialiseCommandButtons(); }
private void LoadData() { var getPurposeListTask = DatabaseLoader.GetControlSystemAlarmPurposes(); var getConsequenceListTask = DatabaseLoader.GetControlSystemAlarmConsequences(); var getResponseListTask = DatabaseLoader.GetControlSystemAlarmResponses(); var getAlarmColoursTask = DatabaseLoader.GetControlSystemAlarmColours(); var getAlarmPrioritiesTask = DatabaseLoader.GetControlSystemAlarmPriorities(); var tasks = new List<Task> { getPurposeListTask, getConsequenceListTask, getResponseListTask, getAlarmColoursTask, getAlarmPrioritiesTask }; Task.Factory.ContinueWhenAll(tasks.ToArray(), xx => { CMS.UiFactory.StartNew(() => { Consequences = getConsequenceListTask.Result; Responses = getResponseListTask.Result; Purposes = getPurposeListTask.Result; Priorities = getAlarmPrioritiesTask.Result; ControlSystemAlarmPriority noSelectionPriority = new ControlSystemAlarmPriority { Id = -1, Name = " -- " }; Priorities.Insert(0, noSelectionPriority); Colours = getAlarmColoursTask.Result; ControlSystemAlarmColour noSelectionColour = new ControlSystemAlarmColour { Id = -1, Name = " -- " }; Colours.Insert(0, noSelectionColour); ControlSystemAlarmPurpose noSelectionPurpose = new ControlSystemAlarmPurpose { Id = -1, Name = " -- " }; Purposes.Insert(0, noSelectionPurpose); ControlSystemAlarmResponse noSelectionResponse = new ControlSystemAlarmResponse { Id = -1, Name = " -- " }; Responses.Insert(0, noSelectionResponse); ControlSystemAlarmConsequence noSelectionConsequence = new ControlSystemAlarmConsequence { Id = -1, Name = " -- " }; Consequences.Insert(0, noSelectionConsequence); OnDataLoaded(); RaiseAllPropertyChangedEvents(); }); }); }
private void LoadData() { //Task<List<ControlSystemAlarmPurpose>> getPurposeListTask = DatabaseLoader.GetControlSystemAlarmPurposes(); //Task<List<ControlSystemAlarmConsequence>> getConsequenceListTask = DatabaseLoader.GetControlSystemAlarmConsequences(); //Task<List<ControlSystemAlarmResponse>> getResponseListTask = DatabaseLoader.GetControlSystemAlarmResponses(); //Task<List<ControlSystemAlarmColour>> getAlarmColoursTask = DatabaseLoader.GetControlSystemAlarmColours(); //Task<List<ControlSystemAlarmPriority>> getAlarmPrioritiesTask = DatabaseLoader.GetControlSystemAlarmPriorities(); var getCentumsForLevelTask = DatabaseLoader.GetControlSystemAlarmMappingCentumsForLevel(mLevel); var getAlarmPropertyValuesRequiredForComponentTypeTask = DatabaseLoader.GetAlarmPropertyValuesRequiredForComponentType(mControlSystemComponent.ControlSystemComponentTypeId); var tasks = new List<Task> { //getPurposeListTask, //getConsequenceListTask, //getResponseListTask, //getAlarmColoursTask, //getAlarmPrioritiesTask, getCentumsForLevelTask, getAlarmPropertyValuesRequiredForComponentTypeTask }; Task.Factory.ContinueWhenAll(tasks.ToArray(), xx => { CMS.UiFactory.StartNew(() => { var consequences = mAlarmLists.Consequences;//getConsequenceListTask.Result; var responses = mAlarmLists.Responses;//getResponseListTask.Result; var purposes = mAlarmLists.Purposes;//getPurposeListTask.Result; var priorities = mAlarmLists.Priorities;//getAlarmPrioritiesTask.Result; var colours = mAlarmLists.AlarmColours;//getAlarmColoursTask.Result; var centums = getCentumsForLevelTask.Result; ControlSystemAlarmPriority noSelectionPriority = new ControlSystemAlarmPriority { Id = -1, Name = " -- " }; priorities.Insert(0, noSelectionPriority); ControlSystemAlarmColour noSelectionColour = new ControlSystemAlarmColour { Id = -1, Name = " -- " }; colours.Insert(0, noSelectionColour); ControlSystemAlarmPurpose noSelectionPurpose = new ControlSystemAlarmPurpose { Id = -1, Name = " -- " }; purposes.Insert(0, noSelectionPurpose); ControlSystemAlarmResponse noSelectionResponse = new ControlSystemAlarmResponse { Id = -1, Name = " -- " }; responses.Insert(0, noSelectionResponse); ControlSystemAlarmConsequence noSelectionConsequence = new ControlSystemAlarmConsequence { Id = -1, Name = " -- " }; consequences.Insert(0, noSelectionConsequence); if (AlarmPropertyValues.Any()) { AlarmPropertyValues.Clear(); } if (mControlSystemComponent.Id == 0 && !mSaveRequiredShown) { mSaveRequiredShown = true; PopupDialog pop = new PopupDialog(PopupDialogType.Information, "Save the new Component first in order to see the Alarm Details.", "Save Required"); pop.Show(); } else { if (getAlarmPropertyValuesRequiredForComponentTypeTask.Result != null && getAlarmPropertyValuesRequiredForComponentTypeTask.Result.Any()) { foreach (var propertyValue in getAlarmPropertyValuesRequiredForComponentTypeTask.Result) { var match = (from x in mControlSystemComponent.ControlSystemAlarmPropertyValues where x.ControlSystemAlarmPropertyId == propertyValue.ControlSystemAlarmPropertyId select x).FirstOrDefault(); if (match == null) { propertyValue.ControlSystemAlarmProperty = propertyValue.ControlSystemAlarmProperty; propertyValue.ControlSystemComponent = mControlSystemComponent; mControlSystemComponent.ControlSystemAlarmPropertyValues.Add(propertyValue); } } } } var orderedByNameList = (from x in mControlSystemComponent.ControlSystemAlarmPropertyValues orderby x.ControlSystemAlarmProperty.Name select x).ToList(); orderedByNameList.ForEach(x => AlarmPropertyValues.Add( new ControlSystemAlarmPropertiesWrapViewModel(centums, x, mLevel, priorities, colours, purposes, responses, consequences))); RaisePropertyChanged("AlarmPropertyValues"); SelectedAlarmPropertyValue = AlarmPropertyValues.FirstOrDefault(); }); }); }
private static bool MatchConsequenceFailed(List<ControlSystemAlarmConsequence> newConseqListNames, Alarm oldAlarm, out ControlSystemAlarmConsequence matchConsequence) { matchConsequence = null; if (oldAlarm.AlarmConsequence == null) { return false; } matchConsequence = (from x in newConseqListNames where x.Name.Equals(oldAlarm.AlarmConsequence.Description, StringComparison.CurrentCultureIgnoreCase) select x).FirstOrDefault(); if (matchConsequence == null) { Logger.Out(string.Format("MatchConsequenceFailed on Alarm ID {0}:- could not match Alarm Consequence using Name '{1}'.", oldAlarm.Id, oldAlarm.AlarmConsequence.Description)); return true; } return false; }
public DbOperationResult<ControlSystemAlarmConsequence> SaveControlSystemAlarmConsequence(ControlSystemAlarmConsequence consequence) { var result = new DbOperationResult<ControlSystemAlarmConsequence>(); try { using (var cee = new CmsEntities()) { var original = (from x in cee.ControlSystemAlarmConsequences where x.Id == consequence.Id select x).FirstOrDefault(); if (original == null) { cee.ControlSystemAlarmConsequences.Add(consequence); cee.SaveChanges(); result.EntityResult = consequence; } else { cee.Entry(original).CurrentValues.SetValues(consequence); cee.SaveChanges(); result.EntityResult = original; } } } catch (Exception ex) { log.Error("", ex, ex.ToString()); result.ServerErrorMessages.Add(string.Format("Could not Save ControlSystem Alarm Consequence.{0}{1}", Environment.NewLine, ex.Message)); } return result; }