private WorkshopRecordModel ParseWorkShopRecords(MySqlDataReader reader) { try { var w = new WorkshopRecordModel(); var state = new WorkshopRecordStateModel(); var c = new Client(); var v = new VehicleModel(); w.id = (int)(long)reader["id"]; w.client_id = (int)(long)reader["client_id"]; c.email = (string)reader["email"]; c.name = (string)reader["name"]; c.lastName = (string)reader["lastName"]; c.phone = (string)reader["phone"]; state.state = (string)reader["state"]; state.id = (int)reader["workshop_state_id"]; v.model = (string)reader["model"]; v.brand = (string)reader["brand"]; v.year = (int)reader["year"]; v.serial = (string)reader["serial"]; v.created_at = reader["created_at"].ToString(); w.vehicle = v; w.client = c; w.workshop_record_sate = state; return(w); } catch (Exception ex) { throw ex; } }
internal WorkshopRecordModel LeerPorId(int id) { var lista = new WorkshopRecordModel(); var cmd = new MySqlCommand("SELECT wr.id, wr.client_id, ws.id as workshop_state_id, ws.state, c.email, c.name, c.lastName, c.phone, v.brand, v.serial,v.model, v.year, v.created_at FROM workshop_records wr INNER JOIN workshop_record_states ws on wr.workshop_record_state_id = ws.id INNER JOIN clients c on wr.client_id = c.id INNER JOIN vehicles v on v.id = wr.vehicle_id WHERE wr.id = @id"); cmd.Parameters.AddWithValue("@id", id); using (var conn = new MySqlConnection(GetConnectionString())) { try { cmd.Connection = conn; cmd.Connection.Open(); using (var reader = cmd.ExecuteReader()){ if (reader.Read()) { return(ParseWorkShopRecords(reader)); } } } catch (Exception ex) { throw ex; } } return(null); }