using WCS.Core.DbHelper; using WCS.Entity; using WCS.Entity.Protocol; using WCS.Entity.Protocol.Station; namespace WCS.Service { public static class DeviceExtentions { } public static class TaskExtentions { public static string AddrCurrent(this WCS_TASK source, Db db) { var q1 = db.Default.Queryable().Where(v => v.ISLAST && v.Tasknum == source.ID).Select(v => new TemporaryModel { TYPE = 1, CODE = v.DEVICE.CODE }); var q2 = db.Default.Queryable().Where(v => v.ISLAST && (v.TaskID_1 == source.ID || v.TaskID_2 == source.ID)).Select(v => new TemporaryModel { TYPE = 2, CODE = v.DEVICE.CODE }); var q = db.Default.UnionAll(q1, q2); var res = q.OrderBy(v => v.TYPE).First(); return res == null ? "" : res.CODE; } } public class TemporaryModel { public int TYPE { get; set; } public string CODE { get; set; } } }