private static void CreateOrUpdateAddressListMulti(ITikConnection connection) { var existingAddressList = connection.LoadList <FirewallAddressList>( connection.CreateParameter("list", listName)).ToList(); var listClonedBackup = existingAddressList.CloneEntityList(); //creates clone of all entities in list if (existingAddressList.Count() <= 0) { //Create (just in memory) existingAddressList.Add( new FirewallAddressList() { Address = ipAddress, List = listName, }); existingAddressList.Add( new FirewallAddressList() { Address = ipAddress2, List = listName, }); } else { //Update (just in memory) foreach (var addressList in existingAddressList) { addressList.Comment = "Comment update: " + DateTime.Now.ToShortTimeString(); } } //save differences into mikrotik (existingAddressList=modified, listClonedBackup=unmodified) connection.SaveListDifferences(existingAddressList, listClonedBackup); }
/// <summary> /// Deletes all entities of given type on mikrotik router. /// </summary> /// <typeparam name="TEntity">Deleted entity type.</typeparam> /// <param name="connection">Tik connection used to delete entity.</param> /// <returns>Number of deleted entities. </returns> public static int DeleteAll <TEntity>(this ITikConnection connection) where TEntity : new() { var list = connection.LoadAll <TEntity>(); int result = list.Count(); connection.SaveListDifferences(new List <TEntity>() /*empty list as expected => delete all*/, list); return(result); }
private static void DeleteAddressListMulti(ITikConnection connection) { var existingAddressList = connection.LoadList <FirewallAddressList>( connection.CreateParameter("list", listName)).ToList(); var listClonedBackup = existingAddressList.CloneEntityList(); //creates clone of all entities in list existingAddressList.Clear(); //save differences into mikrotik (existingAddressList=modified, listClonedBackup=unmodified) connection.SaveListDifferences(existingAddressList, listClonedBackup); }
private static void CreateOrUpdateAddressListMulti(ITikConnection connection) { var existingAddressList = connection.LoadList<FirewallAddressList>( connection.CreateParameter("list", listName)).ToList(); var listClonedBackup = existingAddressList.CloneEntityList(); //creates clone of all entities in list if (existingAddressList.Count() <= 0) { //Create (just in memory) existingAddressList.Add( new FirewallAddressList() { Address = ipAddress, List = listName, }); existingAddressList.Add( new FirewallAddressList() { Address = ipAddress2, List = listName, }); } else { //Update (just in memory) foreach (var addressList in existingAddressList) { addressList.Comment = "Comment update: " + DateTime.Now.ToShortTimeString(); } } //save differences into mikrotik (existingAddressList=modified, listClonedBackup=unmodified) connection.SaveListDifferences(existingAddressList, listClonedBackup); }
private static void DeleteAddressListMulti(ITikConnection connection) { var existingAddressList = connection.LoadList<FirewallAddressList>( connection.CreateParameter("list", listName)).ToList(); var listClonedBackup = existingAddressList.CloneEntityList(); //creates clone of all entities in list existingAddressList.Clear(); //save differences into mikrotik (existingAddressList=modified, listClonedBackup=unmodified) connection.SaveListDifferences(existingAddressList, listClonedBackup); }