public ResourceState[] GetResources() { DataTable dt = new DataTable(); dt.Columns.Add("ResourceID", typeof(int)); dt.Columns.Add("ResourceName", typeof(string)); dt.Columns.Add("BuildingName", typeof(string)); dt.Columns.Add("LabName", typeof(string)); dt.Columns.Add("ProcessTechName", typeof(string)); ResourceInfo[] query = DataSession.Query <ResourceInfo>().Where(x => x.ResourceIsActive).ToArray(); foreach (var r in query) { dt.Rows.Add(r.ResourceID, r.ResourceName, r.BuildingName, r.LabName, r.ProcessTechName); } WagoInterlock.AllToolStatus(dt); ResourceState[] result = dt.AsEnumerable().Select(x => new ResourceState() { ResourceID = x.Field <int>("ResourceID"), ResourceName = x.Field <string>("ResourceName"), BuildingName = x.Field <string>("BuildingName"), LabName = x.Field <string>("LabName"), ProcessTechName = x.Field <string>("ProcessTechName"), PointID = x.Field <int>("PointID"), InterlockStatus = x.Field <string>("InterlockStatus"), InterlockState = x.Field <bool>("InterlockState"), InterlockError = x.Field <bool>("InterlockError"), IsInterlocked = x.Field <bool>("IsInterlocked") }).ToArray(); return(result); }
public IEnumerable <ToolStatus> GetToolStatus() { DataTable dt = new DataTable(); using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["cnSselData"].ConnectionString)) using (var cmd = new SqlCommand("SELECT * FROM sselControl.dbo.v_ToolStatus WHERE IsActive = 1 ORDER BY BuildingName, LabDisplayName, ProcessTechName, ResourceName", conn)) using (var adap = new SqlDataAdapter(cmd)) { adap.Fill(dt); conn.Close(); } WagoInterlock.AllToolStatus(dt); var result = dt.AsEnumerable().Select(x => new ToolStatus() { BuildingID = x.Field <int>("BuildingID"), BuildingName = x.Field <string>("BuildingName"), LabID = x.Field <int>("LabID"), LabName = x.Field <string>("LabName"), LabDisplayName = x.Field <string>("LabDisplayName"), ProcessTechID = x.Field <int>("ProcessTechID"), ProcessTechName = x.Field <string>("ProcessTechName"), ResourceID = x.Field <int>("ResourceID"), ResourceName = x.Field <string>("ResourceName"), PointID = x.Field <int>("PointID"), InterlockStatus = x.Field <string>("InterlockStatus"), InterlockState = x.Field <bool>("InterlockState"), InterlockError = x.Field <bool>("InterlockError"), IsInterlocked = x.Field <bool>("IsInterlocked") }).ToList(); return(result); }
public string GetInterlockStatus(int resourceId) { DataTable dt = new DataTable(); dt.Columns.Add("ResourceID", typeof(int)); dt.Columns.Add("InterlockStatus", typeof(string)); dt.Rows.Add(resourceId, string.Empty); WagoInterlock.AllToolStatus(dt); DataRow dr = dt.Select($"ResourceID = {resourceId}").FirstOrDefault(); string result; if (dr != null) { result = Convert.ToString(dr["InterlockStatus"]); } else { result = $"{resourceId} not found"; } return(result); }