using System;
using System.Collections.Generic;
using System.IO;
namespace Snippets
{
class MyConfigs
{
public static void MainConfigs(string[] args)
{
IComm ptrComm;
string filePath = @"C:\zMyBackupConfigs\";
ptrComm = new TcpConnection("192.168.1.50", TcpConnection.DEFAULT_MGMT_PORT);
ptrComm.Open();
Console.WriteLine(Environment.NewLine + $"Backing up all configs to path '{filePath}'..." + Environment.NewLine);
BackupAllConfigsToFiles(ptrComm, filePath);
Console.WriteLine(Environment.NewLine + "Reading some configs..." + Environment.NewLine);
ReadPrinterConfigNum(ptrComm, 0);
ReadPrinterConfigNum(ptrComm, 6);
Console.WriteLine(Environment.NewLine + "Renaming configs..." + Environment.NewLine);
RenameConfigs(ptrComm);
Console.WriteLine(Environment.NewLine + "Restoring a config from a file..." + Environment.NewLine);
RestoreConfigFromFile(ptrComm, filePath + "config1.txt");
ptrComm.Close();
}
public static void ReadPrinterConfigNum(IComm ptrComm, int CfgNum)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
Console.WriteLine($"Reading config number: {CfgNum}");
Config cfg = myConfigs.GetConfig(CfgNum);
if (cfg != null)
{
Console.WriteLine($"Number: {cfg.Number}, Named: {cfg.Name}");
Console.WriteLine($"Read from printer model {cfg.Model}");
}
else
{
Console.WriteLine("Config not found.");
}
myConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
public static void RenameConfigs(IComm ptrComm)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
List<Config> cfgs = myConfigs.GetAllConfig();
foreach (Config cfg in cfgs)
{
cfg.Name = "myCfg" + cfg.Number;
Console.WriteLine($"Renaming and Saving config. Num: {cfg.Number}, Name: {cfg.Name}");
myConfigs.SetConfig(cfg);
}
myConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
public static void BackupAllConfigsToFiles(IComm ptrComm, string savePath)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
List<Config> cfgs = myConfigs.GetAllConfig();
foreach (Config cfg in cfgs)
{
Console.WriteLine($"Saving config-- Num: {cfg.Number}, Name: {cfg.Name}");
using (StreamWriter writer = new StreamWriter(savePath + $"config{cfg.Number}.txt"))
{
writer.Write(cfg.ToString());
}
}
myConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
public static void RestoreConfigFromFile(IComm ptrComm, string filePath)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
string myBackupConfig = File.ReadAllText(filePath);
Config myConfig = new Config(myBackupConfig);
if (ptrConfigs.SetConfig(myConfig))
{
Console.WriteLine($"Config Num: {myConfig.Number} restored");
}
else
{
Console.WriteLine("Config restore failed.");
}
ptrConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
}
}