Пример #1
0
        public override async Task <Result> ExportAsync(string fileName, CancellationToken cancellationToken)
        {
            using (var context = new ZvsContext(EntityContextConnection))
            {
                var existingTriggers = await context.DeviceValueTriggers
                                       .ToListAsync(cancellationToken);

                var backupTriggers = new List <TriggerBackup>();
                foreach (var o in existingTriggers)
                {
                    var trigger = new TriggerBackup
                    {
                        Name            = o.Name,
                        isEnabled       = o.IsEnabled,
                        DeviceValueName = o.DeviceValue.Name,
                        NodeNumber      = o.DeviceValue.Device.NodeNumber,
                        StoredCommand   = await StoredCmdBackup.ConvertToBackupCommand(o),
                        Operator        = (int?)o.Operator,
                        Value           = o.Value
                    };
                    backupTriggers.Add(trigger);
                }

                var saveResult = await SaveAsXmlToDiskAsync(backupTriggers, fileName);

                if (saveResult.HasError)
                {
                    return(Result.ReportError(saveResult.Message));
                }

                return(Result.ReportSuccessFormat("Exported {0} triggers to {1}", backupTriggers.Count,
                                                  Path.GetFileName(fileName)));
            }
        }
        public override async Task<Result> ExportAsync(string fileName, CancellationToken cancellationToken)
        {
            using (var context = new ZvsContext(EntityContextConnection))
            {
                var existingTriggers = await context.DeviceValueTriggers
                    .ToListAsync(cancellationToken);

                var backupTriggers = new List<TriggerBackup>();
                foreach (var o in existingTriggers)
                {
                    var trigger = new TriggerBackup
                    {
                        Name = o.Name,
                        isEnabled = o.IsEnabled,
                        DeviceValueName = o.DeviceValue.Name,
                        NodeNumber = o.DeviceValue.Device.NodeNumber,
                        StoredCommand = await StoredCmdBackup.ConvertToBackupCommand(o),
                        Operator = (int?) o.Operator,
                        Value = o.Value
                    };
                    backupTriggers.Add(trigger);
                }

                var saveResult = await SaveAsXmlToDiskAsync(backupTriggers, fileName);

                if (saveResult.HasError)
                    return Result.ReportError(saveResult.Message);

                return Result.ReportSuccessFormat("Exported {0} triggers to {1}", backupTriggers.Count,
                    Path.GetFileName(fileName));
            }
        }