using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using Newtonsoft.Json; using Saraff.Twain; using HXX.Scanner.Socket; using HXX.Scanner.Common; namespace HXX.Scanner.Biz.Socket { /// /// 业务处理 切换扫描仪 /// public class biz_changeScan { /// /// 切换扫描仪引发的界面联动 /// public static del_change_sanner change_scanner; /// /// 主业务 /// /// /// public async static void Work(IntPtr connId, cmd_changeScan data) { var response = new response_changeScan(); var result = await work_detail(connId, data); if (result.Status == 1) { response.code = 200; response.msg = "成功"; } else { response.code = 509; response.msg = result.Message; } //SocketServerManager.Send_Family(connId, response.ToJson()); SocketServerManager.Send_Single(connId, response.ToJson()); } /// /// 切换实施和返回值构造 /// /// /// /// private async static Task work_detail(IntPtr connId, cmd_changeScan data) { var result = new ResponseEntity(); try { if (!config_environment.scan_state) { var scanner = scanner_manager.get_scanner(data.param.deviceName); if (scanner != null) { //result = engine_twain32.Engine.set_current(scanner); if (change_scanner != null) { //真实切换扫描仪动作 result = await change_scanner(scanner); } } else { result.Status = 509; result.Message = "未找到指定的扫描仪"; } } else { result.Status = 509; result.Message = "扫描仪正在使用中"; } } catch (Exception ee) { LogManager.WriteLog(ee); result.Status = 509; result.Message = ee.Message; } return result; } } }