private bool ModifySingleS7AlarmInDB(AlarmS7UImodel alarm) { _logger.Info($"Procedure of updating definition and texts of one S7 alarm, started. Updated alarm ID: {alarm.Identity}"); try { //divide alarm definition into two objects (S7AlarmDefinition alarmDefinition, AlarmLanguagesDefinition alarmTexts) = AlarmS7UImodelDivider.DivideToDifferentObjects(alarm); bool definitionModified = ModifyAlarmDefinition(alarmDefinition); bool textsModified; if (definitionModified) { textsModified = ModifyAlarmTexts(alarmTexts); if (textsModified) { return(true); } else { return(false); } } else { return(false); } } catch (Exception ex) { _logger.Error($"Error while trying to update S7 alarm in DB. Alarm Identity: {alarm.Identity}. Error: {ex.Message}."); return(false); } }
private bool DeleteSingleAlarm(AlarmS7UImodel alarm) { bool definitionDeleted = DeleteSingleAlarmFromDB(alarm); bool textsDeleted = DeleteSingleAlarmTextsFromDB(alarm); return(definitionDeleted && textsDeleted); }
private bool DeleteSingleAlarmFromDB(AlarmS7UImodel alarm) { _logger.Info($"Method for deleting definition of single S7 alarm fired. Alarm identity: {alarm.Identity}."); try { S7AlarmDefinition definition = _realm.All <S7AlarmDefinition>(). Where(x => x.Identity == alarm.Identity && x.PLCconnectionID == alarm.PLCconnectionID).ToList().First(); using (var trans = _realm.BeginWrite()) { _realm.Remove(definition); trans.Commit(); } _logger.Info($"S7 alarm definition with ID: {alarm.Identity} deleted successfully."); return(true); } catch (Exception ex) { _logger.Error($"Deleting definition of S7 alarm with ID: {alarm.Identity} failed. Error: {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); } }
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); }
public bool ModifySingleS7Alarm(AlarmS7UImodel alarm) { _logger.Info($"Method for saving changes in signle S7 alarm to Db fired. Alarm Identoty: {alarm.Identity}."); return(ModifySingleS7AlarmInDB(alarm)); }
public bool DeleteSingleS7Alarm(AlarmS7UImodel alarm) { _logger.Info($"Method for deleting single S7 alarm started."); return(DeleteSingleAlarm(alarm)); }
private bool DeleteSingleAlarmTextsFromDB(AlarmS7UImodel alarm) { AlarmTextsDeleter deleter = new AlarmTextsDeleter(_realmProvider); return(deleter.DeleteExistingAlarmTexts(alarm.Identity, alarm.PLCconnectionID)); }