private bool ModifyAlarmTexts(AlarmLanguagesDefinition alarmTexts) { //create list of Strings List <string> texts = new List <string>() { alarmTexts.SysLang1, alarmTexts.SysLang2, alarmTexts.SysLang3, alarmTexts.SysLang4, alarmTexts.SysLang5, alarmTexts.SysLang6, alarmTexts.SysLang7, alarmTexts.UserLang1, alarmTexts.UserLang2, alarmTexts.UserLang3, alarmTexts.UserLang4, alarmTexts.UserLang5, alarmTexts.UserLang6, alarmTexts.UserLang7, alarmTexts.UserLang8, alarmTexts.UserLang9, }; //save to DB AlarmTextsModifier modifier = new AlarmTextsModifier(_realmProvider); return(modifier.ModifyAlarmTexts(alarmTexts.AlarmIdentity, alarmTexts.PLCconnectionID, texts)); }
private bool DeleteSingleAlarmTexts(int alarmIdentity, int plcConnectionID) { _logger.Info($"Method for deleting single alarm texts fired. Alarm id: {alarmIdentity}, PLC connection ID: {plcConnectionID}."); try { AlarmLanguagesDefinition definition = _realm.All <AlarmLanguagesDefinition>(). Where(x => x.AlarmIdentity == alarmIdentity && x.PLCconnectionID == plcConnectionID).First(); using (var trans = _realm.BeginWrite()) { _realm.Remove(definition); trans.Commit(); } _logger.Info($"Alarm texts for alarm with alarmID: {alarmIdentity} and PLC connection ID: {plcConnectionID} deleted successfully"); return(true); } catch (Exception ex) { _logger.Error($"Error while trying to delete texts of existing alarm: {ex.Message}."); return(false); } }
private AlarmS7UImodel MergeAlarmDefinitionAndAlarmTexts (S7AlarmDefinition alarmDefinition, AlarmLanguagesDefinition alarmTexts) { if (alarmDefinition != null && alarmTexts != null) { //merge those 2 objects into one AlarmS7UImodel outputObject = new AlarmS7UImodel() { Identity = alarmDefinition.Identity, PLCconnectionID = alarmDefinition.PLCconnectionID, AlarmProfileIdentity = alarmDefinition.AlarmProfileIdentity, SMSrecipientsGroupIdentity = alarmDefinition.SMSrecipientsGroupIdentity, AlarmActivated = alarmDefinition.AlarmActivated, AlarmTagName = alarmDefinition.AlarmTagName, AlarmTagDBnumber = alarmDefinition.AlarmTagDBnumber, AlarmTagByteNumber = alarmDefinition.AlarmTagByteNumber, AlarmTagBitNumber = alarmDefinition.AlarmTagBitNumber, AckTagName = alarmDefinition.AckTagName, AckTagDBnumber = alarmDefinition.AckTagDBnumber, AckTagByteNumber = alarmDefinition.AckTagByteNumber, AckTagBitNumber = alarmDefinition.AckTagBitNumber, SysLang1 = alarmTexts.SysLang1, SysLang2 = alarmTexts.SysLang2, SysLang3 = alarmTexts.SysLang3, SysLang4 = alarmTexts.SysLang4, SysLang5 = alarmTexts.SysLang5, SysLang6 = alarmTexts.SysLang6, SysLang7 = alarmTexts.SysLang7, UserLang1 = alarmTexts.UserLang1, UserLang2 = alarmTexts.UserLang2, UserLang3 = alarmTexts.UserLang3, UserLang4 = alarmTexts.UserLang4, UserLang5 = alarmTexts.UserLang5, UserLang6 = alarmTexts.UserLang6, UserLang7 = alarmTexts.UserLang7, UserLang8 = alarmTexts.UserLang8, UserLang9 = alarmTexts.UserLang9, ObjectModified = false, }; return(outputObject); } else { return(null); } }
private AlarmS7UImodel ReadSingleS7DetailedAlarm(int plcConnectionID, int alarmIdentity) { _logger.Info($"Method for obtaining full data of single alarm with PLC connection ID: {plcConnectionID}, and Identity: {alarmIdentity}; fired."); //read alarm definition S7AlarmDefinition alarmDefinition = ReadSingleAlarmDefinition(plcConnectionID, alarmIdentity); //create instance of alarm texts reader AlarmTextsReader reader = new AlarmTextsReader(_realmProvider); //read alarm texts AlarmLanguagesDefinition alarmTexts = reader.GetTextsTorSingleAlarm(alarmIdentity, plcConnectionID); //merge objects into one return(MergeAlarmDefinitionAndAlarmTexts(alarmDefinition, alarmTexts)); }
public static (S7AlarmDefinition, AlarmLanguagesDefinition) DivideToDifferentObjects(AlarmS7UImodel uiModel) { S7AlarmDefinition alarmDefinition = new S7AlarmDefinition() { Identity = uiModel.Identity, PLCconnectionID = uiModel.PLCconnectionID, AlarmProfileIdentity = uiModel.AlarmProfileIdentity, SMSrecipientsGroupIdentity = uiModel.SMSrecipientsGroupIdentity, AlarmActivated = uiModel.AlarmActivated, AlarmTagName = uiModel.AlarmTagName, AlarmTagDBnumber = uiModel.AlarmTagDBnumber, AlarmTagByteNumber = uiModel.AlarmTagByteNumber, AlarmTagBitNumber = uiModel.AlarmTagBitNumber, AckTagName = uiModel.AckTagName, AckTagDBnumber = uiModel.AckTagDBnumber, AckTagByteNumber = uiModel.AckTagByteNumber, AckTagBitNumber = uiModel.AckTagBitNumber, }; AlarmLanguagesDefinition alarmTexts = new AlarmLanguagesDefinition() { Identity = 0, AlarmIdentity = uiModel.Identity, PLCconnectionID = uiModel.PLCconnectionID, SysLang1 = uiModel.SysLang1, SysLang2 = uiModel.SysLang2, SysLang3 = uiModel.SysLang3, SysLang4 = uiModel.SysLang4, SysLang5 = uiModel.SysLang5, SysLang6 = uiModel.SysLang6, SysLang7 = uiModel.SysLang7, UserLang1 = uiModel.UserLang1, UserLang2 = uiModel.UserLang2, UserLang3 = uiModel.UserLang3, UserLang4 = uiModel.UserLang4, UserLang5 = uiModel.UserLang5, UserLang6 = uiModel.UserLang6, UserLang7 = uiModel.UserLang7, UserLang8 = uiModel.UserLang8, UserLang9 = uiModel.UserLang9, }; return(alarmDefinition, alarmTexts); }
private bool ModifySingleAlarmTexts(int AlarmIdentity, int plcConnectionID, List <string> texts) { _logger.Info($"Method for modification single alarm texts fired."); try { AlarmLanguagesDefinition definition = _realm.All <AlarmLanguagesDefinition>(). Where(x => x.PLCconnectionID == plcConnectionID && x.AlarmIdentity == AlarmIdentity).First(); using (var trans = _realm.BeginWrite()) { definition.SysLang1 = texts[0]; definition.SysLang2 = texts[1]; definition.SysLang3 = texts[2]; definition.SysLang4 = texts[3]; definition.SysLang5 = texts[4]; definition.SysLang6 = texts[5]; definition.SysLang7 = texts[6]; definition.UserLang1 = texts[7]; definition.UserLang2 = texts[8]; definition.UserLang3 = texts[9]; definition.UserLang4 = texts[10]; definition.UserLang5 = texts[11]; definition.UserLang6 = texts[12]; definition.UserLang7 = texts[13]; definition.UserLang8 = texts[14]; definition.UserLang9 = texts[15]; trans.Commit(); } _logger.Info($"Changing definition alarm texts for alarm with alarm id: {AlarmIdentity}, and connection ID: {plcConnectionID} successfull."); return(true); } catch (Exception ex) { _logger.Error($"Error while trying to modify existing alarm texts definitions. Alarm ID: {AlarmIdentity}, connection ID: {plcConnectionID}. Error: {ex.Message}."); return(false); } }