Translate Command Line Command to C#

Hi,
I want to change the following command line working command in to C# code, how can i do that?

system logging action set memory memory-lines = 1000

Tried tik4net and mikrotik low level api:

using (ITikConnection connection = ConnectionFactory.CreateConnection(TikConnectionType.Api))
{
	connection.Open(RouterIpAddress, RouterUserName, RouterPassword);
	var command = connection.CreateCommandAndParameters("/system/logging/action/set", "/memory/memory-lines", "1000");
	command.ExecuteNonQuery();
}

MK mikrotik = new MK(RouterIpAddress);
if (mikrotik.Login(RouterUserName, RouterPassword))
{
	mikrotik.Send("/system/logging/action/set");                                    
	mikrotik.Send("/memory/memory-lines=1000", true);
}
mikrotik.Close();

Neither works.
What am i doing wrong?

You can use the following C# snippet:

void Main()
{
  using (var conn = ConnectionFactory.CreateConnection(TikConnectionType.Api))
  {
    var actions = conn.LoadAll<LoggingAction>();
    //actions.Dump();
    
    var memoryAction = conn.LoadSingle<LoggingAction>(conn.CreateParameter("name", "memory"));
    //memoryAction.Dump();
    
    memoryAction.Lines = 100;
    conn.Save(memoryAction);
  }
}

[TikEntity("/system/logging/action")]
public class LoggingAction
{
  [TikProperty(".id")]
  public string Id { get; private set; }

  [TikProperty("name")]
  public string Name { get; set; }

  [TikProperty("memory-lines")]
  public int Lines { get; set; }
}

2018-05-15_14-50-55.png

Thanks nescafe2002, it works :slight_smile: