public async static Task PushIndicators(DateTime from, DateTime to, string cfgFileName) { EquipmentConnectorCfg[] cfg; using (var xmlFile = new FileStream(cfgFileName, FileMode.Open)) { using (var xmlReader = XmlReader.Create(xmlFile)) { var xmlSerializer = new XmlSerializer(typeof(EquipmentConnectorCfg[])); cfg = (EquipmentConnectorCfg[])xmlSerializer.Deserialize(xmlReader); } } using (var client = new DpaRestClient(LinkConfig.DPA.BaseUrl)) { await client.Login(LinkConfig.DPA.UserName, LinkConfig.DPA.Password); foreach (var equipmentCfg in cfg) { foreach (var indicatorCfg in equipmentCfg.Indicators) { using (var connector = LinkConfig.Connectors.CreateConnector(indicatorCfg.Connector, $"{equipmentCfg.Name} / {indicatorCfg.Name}")) { var values = await client.GetIndicatorValues(indicatorCfg.ID, from, to); connector.Push(equipmentCfg, indicatorCfg, values); } } } } }
public async static Task SetValue(long equipmentId, string url, string value) { using (var client = new DpaRestClient(LinkConfig.DPA.BaseUrl)) { await client.Login(LinkConfig.DPA.UserName, LinkConfig.DPA.Password); await client.WriteVariable(equipmentId, new DriverWriteItem { Url = url, Values = new string[] { value } }); Console.WriteLine("OK"); } }
public async static Task GetEquipment() { using (var client = new DpaRestClient(LinkConfig.DPA.BaseUrl)) { await client.Login(LinkConfig.DPA.UserName, LinkConfig.DPA.Password); var equipment = await client.GetEquipment(); Console.WriteLine(JsonSerializer.Serialize(equipment, new JsonSerializerOptions { WriteIndented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping })); } }
public async static Task CreateIndicators(string fileName) { using (var client = new DpaRestClient(LinkConfig.DPA.BaseUrl)) { await client.Login(LinkConfig.DPA.UserName, LinkConfig.DPA.Password); var equipment = await client.GetEquipment(); var cfg = CreateCfg(client, equipment); using (var xmlFile = new FileStream(fileName, FileMode.Create)) { using (var xmlWriter = XmlWriter.Create(xmlFile, new XmlWriterSettings { Indent = true })) { var xmlSerializer = new XmlSerializer(typeof(EquipmentConnectorCfg[])); xmlSerializer.Serialize(xmlWriter, cfg); } } } }
private static EquipmentConnectorCfg[] CreateCfg(DpaRestClient client, Equipment[] equipment) { var progressBarOptions = new ProgressBarOptions { ProgressCharacter = '─', ProgressBarOnBottom = true, ForegroundColor = ConsoleColor.White, BackgroundColor = ConsoleColor.DarkGray, ForegroundColorDone = ConsoleColor.Gray }; using (var progressBar = new ProgressBar(equipment.Length, "", progressBarOptions)) { var cfg = equipment .Select(async(Equipment equipmentInstance) => { var equipmentCfg = await CreateEquipmentConnectorCfg(client, equipmentInstance); progressBar.Tick(equipmentCfg.Name); return(equipmentCfg); }) .Select(action => action.Result) .ToArray(); return(cfg); } }
private static async Task <EquipmentConnectorCfg> CreateEquipmentConnectorCfg(DpaRestClient client, Equipment equipment) { var cfg = new EquipmentConnectorCfg { ID = equipment.ID, Name = equipment.Name, DepartmentName = equipment.DepartmentName }; var indicators = await client.GetIndicators(equipment); cfg.Indicators = indicators .Select(ind => new IndicatorConnectorCfg { ID = ind.ID, Name = ind.Name, ModuleName = ind.ModuleName, Device = ind.Device, DeviceClass = ind.DeviceClass, Connector = "connectorName" }) .ToArray(); return(cfg); }