public static RackDataModel GetRackDetails(string barcode, string barcodeType) { string _err = string.Empty; string sql = ""; if (barcodeType == "Mold") { sql = "[Production].[dbo].[GetRackDataFromMold]"; } else { sql = "[Production].[dbo].[GetRackDataFromPaint]"; } RackDataModel rack = new RackDataModel(); try { using (SqlConnection conn = new SqlConnection(DECOSQL)) { using (SqlCommand cmd = new SqlCommand(sql, conn)) { //cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@paintBarcode ", barcode); cmd.Connection = conn; conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { rack.ID = reader.GetInt64(reader.GetOrdinal("RACK_ID")); rack.CreatedAt = reader.GetDateTime(reader.GetOrdinal("ENTRY_DATE")); rack.PartNumber = reader.GetString(reader.GetOrdinal("PART_NUMBER")); rack.Quantity = reader.GetInt32(reader.GetOrdinal("QUANTITY")); rack.Complete = reader.GetBoolean(reader.GetOrdinal("COMPLETE")); rack.Status = reader.GetInt32(reader.GetOrdinal("STATUS")); // TODO: Update this to get the string meaning rack.LastLocation = reader.GetString(reader.GetOrdinal("LAST_LOCATION")); if (!reader.IsDBNull(reader.GetOrdinal("SHIP_LOCATION"))) { rack.ShipLocation = reader.GetString(reader.GetOrdinal("SHIP_LOCATION")); } rack.AppUsed = reader.GetString(reader.GetOrdinal("APPLICATION")); } } reader.Close(); conn.Close(); } } } catch (Exception ex) { _err = ex.Message; } return(rack); }
[HttpGet()] //api/Rack?rackID= public async Task <IActionResult> GetRackDetailsAsync( [FromQuery] string rackID) { RackDataModel rack = new RackDataModel(); Task <RackDataModel> getRackDetailsTask = Task.Run(() => DataAccess.DB.GetRackDetailsFromID(rackID)); Task <List <RackItem> > getRackContentsTask = Task.Run(() => DataAccess.DB.GetRackContents(rackID)); Task <List <RackActivityItem> > getRackHistoryTask = Task.Run(() => DataAccess.DB.GetRackActivityLog(rackID)); rack = await getRackDetailsTask; rack.RackContents = await getRackContentsTask; rack.RackActivityLog = await getRackHistoryTask; return(Ok(rack)); }
public static RackDataModel GetRackDetailsFromID(string rackID) { string _err = string.Empty; //string sql = "[Production].[dbo].[GetRackDetails]"; string sql = "SELECT TOP (1000) [RACK_ID],[ENTRY_DATE],[RACK_STYLE_ID] ,[PART_NUMBER] ,[QUANTITY] ,[COMPLETE] ,[STATUS], [LAST_LOCATION], [APPLICATION] FROM[Production].[dbo].[RackHistory] WHERE RACK_ID = @rackID"; RackDataModel rack = new RackDataModel(); try { using (SqlConnection conn = new SqlConnection(DECOSQL)) { using (SqlCommand cmd = new SqlCommand(sql, conn)) { //cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@rackID", rackID); cmd.Connection = conn; conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { rack.ID = reader.GetInt64(reader.GetOrdinal("RACK_ID")); rack.CreatedAt = reader.GetDateTime(reader.GetOrdinal("ENTRY_DATE")); rack.PartNumber = reader.GetString(reader.GetOrdinal("PART_NUMBER")); rack.Quantity = reader.GetInt32(reader.GetOrdinal("QUANTITY")); rack.Complete = reader.GetBoolean(reader.GetOrdinal("COMPLETE")); rack.Status = reader.GetInt32(reader.GetOrdinal("STATUS")); // TODO: Update this to get the string meaning rack.LastLocation = reader.GetString(reader.GetOrdinal("LAST_LOCATION")); if (!reader.IsDBNull(reader.GetOrdinal("SHIP_LOCATION"))) { rack.ShipLocation = reader.GetString(reader.GetOrdinal("SHIP_LOCATION")); } rack.AppUsed = reader.GetString(reader.GetOrdinal("APPLICATION")); } } reader.Close(); conn.Close(); } } } catch (Exception ex) { _err = ex.Message; } return(rack); }