github.com/Bio-core/jtree@v0.0.0-20190705165106-1d7a7e7d6272/repos/resultdetail_repo.go (about) 1 package repos 2 3 import ( 4 "fmt" 5 "log" 6 7 database "github.com/Bio-core/jtree/database" 8 "github.com/Bio-core/jtree/models" 9 ) 10 11 //InsertResultDetail allows users to add generic objects to a collection in the database 12 func InsertResultDetail(result *models.Resultdetails) bool { 13 stmt, err := database.DBUpdate.Prepare("INSERT INTO `resultdetails`(`VAF`,`c_nomenclature`,`coverage`,`exon`,`gene`,`p_nomenclature`,`pcr`,`quality_score`,`result`,`results_details_id`,`results_id`,`risk_score`,`uid`)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?);") 14 if err != nil { 15 log.Fatal(err) 16 } 17 outcome, err := stmt.Exec( 18 result.VAF, 19 result.CNomenclature, 20 result.Coverage, 21 result.Exon, 22 result.Gene, 23 result.PNomenclature, 24 result.Pcr, 25 result.QualityScore, 26 result.Result, 27 result.ResultsDetailsID, 28 result.ResultsID, 29 result.RiskScore, 30 result.UID) 31 stmt.Close() 32 if err != nil { 33 log.Fatal(err, outcome) 34 } 35 return true 36 } 37 38 //GetResultDetailByID gets all and results a list of samples 39 func GetResultDetailByID(ID string) *models.Resultdetails { 40 resultdetails := []*models.Resultdetails{} 41 query := models.Query{} 42 query.SelectedFields = make([]string, 0) 43 query.SelectedFields = append(query.SelectedFields, "*") 44 query.SelectedTables = make([]string, 0) 45 query.SelectedTables = append(query.SelectedTables, "resultdetails") 46 query.SelectedCondition = make([][]string, 0) 47 //query.SelectedCondition = append(query.SelectedCondition, make([]string, 0)) 48 conditions := []string{"AND", "resultdetails.results_details_id", "Equal to", ID} 49 query.SelectedCondition = append(query.SelectedCondition, conditions) 50 51 queryString := database.BuildQuery(query) 52 err := database.DBSelect.Select(&resultdetails, queryString) 53 if err != nil { 54 fmt.Println(err) 55 return nil 56 } 57 if len(resultdetails) == 0 { 58 return nil 59 } 60 return resultdetails[0] 61 } 62 63 //UpdateResultDetail allows users to add generic objects to a collection in the database 64 func UpdateResultDetail(result *models.Resultdetails) bool { 65 stmt, err := database.DBUpdate.Prepare("UPDATE `resultdetails` SET `VAF` = ?,`c_nomenclature` = ?,`coverage` = ?,`exon` = ?,`gene` = ?,`p_nomenclature` = ?,`pcr` = ?,`quality_score` = ?,`result` = ?,`results_details_id` = ?,`results_id` = ?,`risk_score` = ?,`uid` = ? WHERE `results_details_id` = ?;") 66 if err != nil { 67 log.Fatal(err) 68 } 69 outcome, err := stmt.Exec( 70 result.VAF, 71 result.CNomenclature, 72 result.Coverage, 73 result.Exon, 74 result.Gene, 75 result.PNomenclature, 76 result.Pcr, 77 result.QualityScore, 78 result.Result, 79 result.ResultsDetailsID, 80 result.ResultsID, 81 result.RiskScore, 82 result.UID, 83 result.ResultsDetailsID) 84 stmt.Close() 85 if err != nil { 86 log.Fatal(err, outcome) 87 } 88 return true 89 }