|
@@ -27,69 +27,69 @@ namespace WCS.Service
|
|
|
|
|
|
private static ConcurrentDictionary<Type, object[]> LastDatas = new ConcurrentDictionary<Type, object[]>();
|
|
|
|
|
|
- protected override WCS_PROTOCOLDATA GetLastData(DB db)
|
|
|
- {
|
|
|
- if (!LastDatas.ContainsKey(this.ProtocolDataType))
|
|
|
- {
|
|
|
- dynamic q = SetMethod.Invoke(db.Default, null);
|
|
|
- try
|
|
|
- {
|
|
|
- q = DynamicQueryableExtensions.Where(q, "ISLAST==@0", true);
|
|
|
- q = DynamicQueryableExtensions.OrderBy(q, "ID");
|
|
|
- q = DynamicQueryableExtensions.Select(q, "new(it.DEVICE.CODE as Code,it as Data)");
|
|
|
- var arr = Enumerable.ToArray(q);
|
|
|
- LastDatas[this.ProtocolDataType] = arr;
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- throw;
|
|
|
- }
|
|
|
- }
|
|
|
- dynamic datas = LastDatas[this.ProtocolDataType];
|
|
|
- var list = new List<WCS_PROTOCOLDATA>();
|
|
|
- foreach (var data in datas)
|
|
|
- {
|
|
|
- if (data.Code == PROTOCOL.DEVICE.CODE)
|
|
|
- list.Add(data.Data);
|
|
|
- }
|
|
|
+ //protected override WCS_PROTOCOLDATA GetLastData(DB db)
|
|
|
+ //{
|
|
|
+ // if (!LastDatas.ContainsKey(this.ProtocolDataType))
|
|
|
+ // {
|
|
|
+ // dynamic q = SetMethod.Invoke(db.Default, null);
|
|
|
+ // try
|
|
|
+ // {
|
|
|
+ // q = DynamicQueryableExtensions.Where(q, "ISLAST==@0", true);
|
|
|
+ // q = DynamicQueryableExtensions.OrderBy(q, "ID");
|
|
|
+ // q = DynamicQueryableExtensions.Select(q, "new(it.DEVICE.CODE as Code,it as Data)");
|
|
|
+ // var arr = Enumerable.ToArray(q);
|
|
|
+ // LastDatas[this.ProtocolDataType] = arr;
|
|
|
+ // }
|
|
|
+ // catch (Exception ex)
|
|
|
+ // {
|
|
|
+ // throw;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // dynamic datas = LastDatas[this.ProtocolDataType];
|
|
|
+ // var list = new List<WCS_PROTOCOLDATA>();
|
|
|
+ // foreach (var data in datas)
|
|
|
+ // {
|
|
|
+ // if (data.Code == PROTOCOL.DEVICE.CODE)
|
|
|
+ // list.Add(data.Data);
|
|
|
+ // }
|
|
|
|
|
|
- if (list.Count > 1)
|
|
|
- {
|
|
|
- for (int i = 0; i < list.Count - 1; i++)
|
|
|
- {
|
|
|
- var obj = list[i];
|
|
|
- db.Default.Attach(obj);
|
|
|
- obj.ISLAST = false;
|
|
|
- }
|
|
|
- db.Default.SaveChanges();
|
|
|
- }
|
|
|
- var res = Enumerable.LastOrDefault(list);
|
|
|
- return res;
|
|
|
- }
|
|
|
+ // if (list.Count > 1)
|
|
|
+ // {
|
|
|
+ // for (int i = 0; i < list.Count - 1; i++)
|
|
|
+ // {
|
|
|
+ // var obj = list[i];
|
|
|
+ // db.Default.Attach(obj);
|
|
|
+ // obj.ISLAST = false;
|
|
|
+ // }
|
|
|
+ // db.Default.SaveChanges();
|
|
|
+ // }
|
|
|
+ // var res = Enumerable.LastOrDefault(list);
|
|
|
+ // return res;
|
|
|
+ //}
|
|
|
|
|
|
private static int total;
|
|
|
|
|
|
- protected override WCS_PROTOCOLDATA SaveNewData(DB db, WCS_PROTOCOLDATA last, WCS_PROTOCOLDATA newobj, string user)
|
|
|
- {
|
|
|
- total++;
|
|
|
+ //protected override WCS_PROTOCOLDATA SaveNewData(DB db, WCS_PROTOCOLDATA last, WCS_PROTOCOLDATA newobj, string user)
|
|
|
+ //{
|
|
|
+ // total++;
|
|
|
|
|
|
- if (last != null)
|
|
|
- {
|
|
|
- db.Default.Attach(last);
|
|
|
- last.ISLAST = false;
|
|
|
- }
|
|
|
+ // if (last != null)
|
|
|
+ // {
|
|
|
+ // db.Default.Attach(last);
|
|
|
+ // last.ISLAST = false;
|
|
|
+ // }
|
|
|
|
|
|
- db.Default.Attach(PROTOCOL.DEVICE);
|
|
|
+ // db.Default.Attach(PROTOCOL.DEVICE);
|
|
|
|
|
|
- newobj.DEVICE = PROTOCOL.DEVICE;
|
|
|
- newobj.ISLAST = true;
|
|
|
- newobj.UPDATETIME = DateTime.Now;
|
|
|
- newobj.UPDATEUSER = user;
|
|
|
- newobj.FRAME = LogicHandler.Frame;
|
|
|
- db.Default.Add(newobj);
|
|
|
- db.Default.SaveChanges();
|
|
|
- return newobj;
|
|
|
- }
|
|
|
+ // newobj.DEVICE = PROTOCOL.DEVICE;
|
|
|
+ // newobj.ISLAST = true;
|
|
|
+ // newobj.UPDATETIME = DateTime.Now;
|
|
|
+ // newobj.UPDATEUSER = user;
|
|
|
+ // newobj.FRAME = LogicHandler.Frame;
|
|
|
+ // db.Default.Add(newobj);
|
|
|
+ // db.Default.SaveChanges();
|
|
|
+ // return newobj;
|
|
|
+ //}
|
|
|
|
|
|
//static ConcurrentQueue<PackInfo> Packs = new ConcurrentQueue<PackInfo>();
|
|
|
private static Dictionary<string, Playerback> Clients = new Dictionary<string, Playerback>();
|