public AddEditAlarmPurposeViewModel() { //NEW AlarmPurpose = new ControlSystemAlarmPurpose(); 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 MatchPurposeFailed(List<ControlSystemAlarmPurpose> newPuposeListNames, Alarm oldAlarm, out ControlSystemAlarmPurpose matchPupose) { matchPupose = null; if (oldAlarm.AlarmPurpose == null) { return false; } matchPupose = (from x in newPuposeListNames where x.Name.Equals(oldAlarm.AlarmPurpose.Description, StringComparison.CurrentCultureIgnoreCase) select x).FirstOrDefault(); if (matchPupose == null) { Logger.Out(string.Format("MatchPurposeFailed on Alarm ID {0}:- could not match Alarm Purpose using Name '{1}'.", oldAlarm.Id, oldAlarm.AlarmPurpose.Description)); return true; } return false; }
public DbOperationResult<ControlSystemAlarmPurpose> SaveControlSystemAlarmPurpose(ControlSystemAlarmPurpose purpose) { var result = new DbOperationResult<ControlSystemAlarmPurpose>(); try { using (var cee = new CmsEntities()) { var original = (from x in cee.ControlSystemAlarmPurposes where x.Id == purpose.Id select x).FirstOrDefault(); if (original == null) { cee.ControlSystemAlarmPurposes.Add(purpose); cee.SaveChanges(); result.EntityResult = purpose; } else { cee.Entry(original).CurrentValues.SetValues(purpose); cee.SaveChanges(); result.EntityResult = original; } } } catch (Exception ex) { log.Error("", ex, ex.ToString()); result.ServerErrorMessages.Add(string.Format("Could not Save ControlSystem Alarm Purpose.{0}{1}", Environment.NewLine, ex.Message)); } return result; }