public Result PutDeviceLibrary([FromRoute] string code, [FromBody] DeviceLibrary deviceLibrary) { var data = ServerConfig.DeviceDb.Query <DeviceLibrary>("SELECT * FROM `device_library` WHERE Code = @code AND `MarkedDelete` = 0;", new { code }).FirstOrDefault(); if (data == null) { return(Result.GenError <Result>(Error.DeviceNotExist)); } var cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `device_model` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.DeviceModelId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.DeviceModelNotExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `firmware_library` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.FirmwareId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.FirmwareLibraryNotExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `hardware_library` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.HardwareId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.HardwareLibraryNotExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `application_library` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.ApplicationId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.ApplicationLibraryNotExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `site` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.SiteId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.SiteNotExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `script_version` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.ScriptId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.ApplicationLibraryNotExist)); } if (!IPAddress.TryParse(deviceLibrary.Ip, out _)) { return(Result.GenError <Result>(Error.IpInvalid)); } if (deviceLibrary.Port < 0 || deviceLibrary.Port > 65535) { return(Result.GenError <Result>(Error.PortInvalid)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `device_library` WHERE Ip = @Ip AND Port = @Port AND Id != @Port;", new { deviceLibrary.Ip, deviceLibrary.Port }).FirstOrDefault(); if (cnt > 0) { if (data.Ip != deviceLibrary.Ip || data.Port != deviceLibrary.Port) { return(Result.GenError <Result>(Error.IpPortIsExist)); } } deviceLibrary.Code = code; deviceLibrary.CreateUserId = Request.GetIdentityInformation(); deviceLibrary.MarkedDateTime = DateTime.Now; ServerConfig.DeviceDb.Execute( "UPDATE device_library SET `CreateUserId` = @CreateUserId, `MarkedDateTime` = @MarkedDateTime, `MarkedDelete` = @MarkedDelete, `ModifyId` = @ModifyId, `Code` = @Code, " + "`DeviceName` = @DeviceName, `MacAddress` = @MacAddress, `Ip` = @Ip, `Port` = @Port, `Identifier` = @Identifier, `DeviceModelId` = @DeviceModelId, `ScriptId` = @ScriptId, " + "`FirmwareId` = @FirmwareId, `HardwareId` = @HardwareId, `ApplicationId` = @ApplicationId, `SiteId` = @SiteId, `AdministratorUser` = @AdministratorUser, " + "`Remark` = @Remark WHERE `Id` = @Id;", deviceLibrary); if (deviceLibrary.Id != data.Id || deviceLibrary.Ip != data.Ip || deviceLibrary.Port != data.Port) { HttpResponseErrAsync(new DeviceInfo { DeviceId = deviceLibrary.Id, }, "delDeviceGate", "PutDeviceLibrary", () => { HttpResponseErrAsync(new DeviceInfo { DeviceId = deviceLibrary.Id, Ip = deviceLibrary.Ip, Port = deviceLibrary.Port, }, "addDeviceGate", "PutDeviceLibrary"); }); } return(Result.GenError <Result>(Error.Success)); }
public Result PostDeviceLibrary([FromBody] DeviceLibrary deviceLibrary) { var cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `device_library` WHERE Ip = @Ip AND Port = @Port AND `MarkedDelete` = 0;", new { deviceLibrary.Ip, deviceLibrary.Port }).FirstOrDefault(); if (cnt > 0) { return(Result.GenError <Result>(Error.IpPortIsExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `device_model` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.DeviceModelId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.DeviceModelNotExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `firmware_library` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.FirmwareId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.FirmwareLibraryNotExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `hardware_library` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.HardwareId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.HardwareLibraryNotExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `application_library` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.ApplicationId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.ApplicationLibraryNotExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `site` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.SiteId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.SiteNotExist)); } cnt = ServerConfig.DeviceDb.Query <int>("SELECT COUNT(1) FROM `script_version` WHERE Id = @id AND `MarkedDelete` = 0;", new { id = deviceLibrary.ScriptId }).FirstOrDefault(); if (cnt == 0) { return(Result.GenError <Result>(Error.ApplicationLibraryNotExist)); } if (!IPAddress.TryParse(deviceLibrary.Ip, out _)) { return(Result.GenError <Result>(Error.IpInvalid)); } if (deviceLibrary.Port < 0 || deviceLibrary.Port > 65535) { return(Result.GenError <Result>(Error.PortInvalid)); } deviceLibrary.CreateUserId = Request.GetIdentityInformation(); deviceLibrary.MarkedDateTime = DateTime.Now; var lastInsertId = ServerConfig.DeviceDb.Query <int>( "INSERT INTO device_library (`CreateUserId`, `MarkedDateTime`, `MarkedDelete`, `ModifyId`, `Code`, `DeviceName`, `MacAddress`, `Ip`, `Port`, `Identifier`, `DeviceModelId`, " + "`ScriptId`, `FirmwareId`, `HardwareId`, `ApplicationId`, `SiteId`, `AdministratorUser`, `Remark`) VALUES (@CreateUserId, @MarkedDateTime, @MarkedDelete, " + "@ModifyId, @Code, @DeviceName, @MacAddress, @Ip, @Port, @Identifier, @DeviceModelId, @ScriptId, @FirmwareId, @HardwareId, @ApplicationId, @SiteId, @AdministratorUser, " + "@Remark);SELECT LAST_INSERT_ID();", deviceLibrary).FirstOrDefault(); ServerConfig.DeviceDb.Execute("INSERT INTO npc_proxy_link (`DeviceId`) VALUES (@DeviceId);", new { DeviceId = lastInsertId, }); HttpResponseErrAsync(new DeviceInfo { DeviceId = lastInsertId, Ip = deviceLibrary.Ip, Port = deviceLibrary.Port, }, "addDeviceGate", "PostDeviceLibrary"); return(Result.GenError <Result>(Error.Success)); }
public MotorolaRadioAdapter() { device = new DeviceLibrary(); device.Init(); }