void ConvertDirectionsBack() { var innerDirections = new List<partType>(); int no = 0; foreach (var direction in DeviceConfiguration.Directions) { var innerDirection = new partType() { type = "direction", no = no.ToString(), id = direction.Id.ToString(), gid = Gid++.ToString(), name = direction.Name }; ++no; var zones = new List<partTypePinZ>(); foreach (var zone in direction.Zones) { zones.Add(new partTypePinZ() { pidz = zone.ToString() }); } innerDirection.PinZ = zones.ToArray(); if (direction.DeviceRm != Guid.Empty || direction.DeviceButton != Guid.Empty) { var innerDirectionParameters = new List<paramType>(); innerDirectionParameters.Add(new paramType() { name = "Device_RM", type = "String", value = GuidHelper.ToString(direction.DeviceRm) }); innerDirectionParameters.Add(new paramType() { name = "Device_AM", type = "String", value = GuidHelper.ToString(direction.DeviceRm) }); innerDirection.param = innerDirectionParameters.ToArray(); } if (innerDirection.param != null) { var rmParameter = innerDirection.param.FirstOrDefault(x => x.name == "Device_RM"); direction.DeviceRm = GuidHelper.ToGuid(rmParameter.value); var buttonParameter = innerDirection.param.FirstOrDefault(x => x.name == "Device_AM"); direction.DeviceButton = GuidHelper.ToGuid(buttonParameter.value); } innerDirections.Add(innerDirection); } FiresecConfiguration.part = innerDirections.ToArray(); }
void ConvertGuardUsersBack() { var innerGuardUsers = new List<partType>(); int no = 0; foreach (var guardUser in DeviceConfiguration.GuardUsers) { var innerGuardUser = new partType() { type = "guarduser", no = no.ToString(), id = guardUser.Id.ToString(), gid = Gid++.ToString(), name = guardUser.Name }; ++no; var innerZones = new List<partTypePinZ>(); foreach (var zone in guardUser.Zones) { innerZones.Add(new partTypePinZ() { pidz = zone.ToString() }); } innerGuardUser.PinZ = innerZones.ToArray(); var innerGuardUsersParameters = new List<paramType>(); if (guardUser.CanSetZone) { innerGuardUsersParameters.Add(new paramType() { name = "SetZone", type = "Bool", value = "1" }); } if (guardUser.CanUnSetZone) { innerGuardUsersParameters.Add(new paramType() { name = "UnSetZone", type = "Bool", value = "1" }); } if (string.IsNullOrEmpty(guardUser.FIO) == false) { innerGuardUsersParameters.Add(new paramType() { name = "FIO", type = "String", value = guardUser.FIO }); } if (string.IsNullOrEmpty(guardUser.Function) == false) { innerGuardUsersParameters.Add(new paramType() { name = "Function", type = "String", value = guardUser.Function }); } if (string.IsNullOrEmpty(guardUser.Password) == false) { innerGuardUsersParameters.Add(new paramType() { name = "Password", type = "String", value = guardUser.Password }); } if (guardUser.DeviceUID != Guid.Empty) innerGuardUsersParameters.Add(new paramType() { name = "DeviceUID", type = "String", value = guardUser.DeviceUID.ToString() }); if (string.IsNullOrEmpty(guardUser.KeyTM) == false) { innerGuardUsersParameters.Add(new paramType() { name = "KeyTM", type = "String", value = guardUser.KeyTM }); } innerGuardUser.param = innerGuardUsersParameters.ToArray(); innerGuardUsers.Add(innerGuardUser); } var innerDirections = FiresecConfiguration.part.ToList(); if (innerDirections != null) { innerGuardUsers.AddRange(innerDirections); } FiresecConfiguration.part = innerGuardUsers.ToArray(); }