package Ġorg . ion project . core . ingest ion . processor . sql Ċ Ċ import Ġorg . ion project . core . ingest ion . processor . sql . model . Real Alternative Course Ac ronym Ċ import Ġorg . ion project . core . ingest ion . processor . sql . model . Real Course Ċ import Ġorg . ion project . core . ingest ion . processor . sql . model . Real Program me Offer Ċ import Ġorg . ion project . core . ingest ion . processor . sql . model . Real Program me Offer Term Ċ import Ġorg . ion project . core . ingest ion . processor . sql . model . Real School Program me Ċ import Ġorg . j db i . v 3 . sq lo bject . config . Key Column Ċ import Ġorg . j db i . v 3 . sq lo bject . custom izer . Bind List Ċ import Ġorg . j db i . v 3 . sq lo bject . statement . Get Generated Keys Ċ import Ġorg . j db i . v 3 . sq lo bject . statement . Sql Batch Ċ import Ġorg . j db i . v 3 . sq lo bject . statement . Sql Query Ċ Ċ interface ĠCourse In gestion Dao Ġ{ ĊĊĠĠĠ Ġ@ Sql Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġselect Ġ* Ġfrom Ġdbo . Program me ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ Key Column (" ac ronym ") ĊĠĠĠ Ġfun Ġget Program mes Map (): ĠMap < String , ĠReal School Program me > ĊĊĠĠĠ Ġ@ Sql Batch ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġinsert Ġinto Ġdbo . Course Ġ( id , Ġac ronym , Ġname , Ġcredits , Ġscientific Area , Ġterm Duration ) ĊĠĠĠĠĠĠĠ Ġvalues Ġ(: c . id , Ġ: c . ac ronym , Ġ: c . name , Ġ: c . credits , Ġ: c . scientific Area , Ġ: c . term Duration ) ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ Get Generated Keys ĊĠĠĠ Ġfun Ġinsert Course ( c : ĠList < Real Course >): ĠList < Real Course > ĊĊĠĠĠ Ġ@ Sql Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġselect Ġ* Ġfrom Ġdbo . Course ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġget Courses (): ĠList < Real Course > ĊĊĠĠĠ Ġ@ Sql Batch ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġupdate Ġdbo . Course ĊĠĠĠĠĠĠĠ Ġset Ġac ronym Ġ= Ġ: c . ac ronym , Ġname Ġ= Ġ: c . name , Ġcredits Ġ= Ġ: c . credits , Ġscientific Area Ġ= Ġ: c . scientific Area , Ġterm Duration Ġ= Ġ: c . term Duration ĊĠĠĠĠĠĠĠ Ġwhere Ġid Ġ= Ġ: c . id ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġupdate Course Information ( c : ĠList < Real Course >) ĊĊĠĠĠ Ġ@ Sql Batch ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġinsert Ġinto Ġdbo . Alternative Course Ac ron y ms Ġ( course Id , Ġac ronym ) ĊĠĠĠĠĠĠĠ Ġvalues Ġ(: alt . course Id , Ġ: alt . ac ronym ) ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġinsert Alternative Course Ac ron y ms ( alt : ĠList < Real Alternative Course Ac ronym >) ĊĊĠĠĠ Ġ@ Sql Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġselect Ġ* Ġfrom Ġdbo . Alternative Course Ac ron y ms ĊĠĠĠĠĠĠĠ Ġwhere Ġcourse Id Ġin Ġ(< courses >) ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġget Alternative Course Ac ron y ms (@ Bind List (" courses ") Ġcourses : ĠList < Int >): ĠList < Real Alternative Course Ac ronym > ĊĊĠĠĠ Ġ@ Sql Batch ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġdelete Ġfrom Ġdbo . Alternative Course Ac ron y ms ĊĠĠĠĠĠĠĠ Ġwhere Ġcourse Id Ġ= Ġ: alt . course Id Ġand Ġac ronym Ġ= Ġ: alt . ac ronym ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġdelete Alternative Course Ac ron y ms ( alt : ĠList < Real Alternative Course Ac ronym >) ĊĊĠĠĠ Ġ@ Sql Batch ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġinsert Ġinto Ġdbo . Program me Offer Ġ( program me Id , Ġcourse Id , Ġoptional ) ĊĠĠĠĠĠĠĠ Ġvalues Ġ(: offer . program me Id , Ġ: offer . course Id , Ġ: offer . optional ) ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ Get Generated Keys ĊĠĠĠ Ġfun Ġinsert Program me Offer ( offer : ĠList < Real Program me Offer >): ĠList < Real Program me Offer > ĊĊĠĠĠ Ġ@ Sql Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġselect Ġ* Ġfrom Ġdbo . Program me Offer ĊĠĠĠĠĠĠĠ Ġwhere Ġcourse Id Ġin Ġ(< courses >) ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġget Program me Offer For Course (@ Bind List (" courses ") Ġcourses : ĠList < Int >): ĠList < Real Program me Offer > ĊĊĠĠĠ Ġ@ Sql Batch ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġdelete Ġfrom Ġdbo . Program me Offer ĊĠĠĠĠĠĠĠ Ġwhere Ġid Ġ= Ġ: offer ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġdelete Program me Offer ( offer : ĠList < Int >) ĊĊĠĠĠ Ġ@ Sql Batch ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġinsert Ġinto Ġdbo . Program me Offer Term Ġ( offer Id , Ġterm Number ) ĊĠĠĠĠĠĠĠ Ġvalues Ġ(: offer Term . offer Id , Ġ: offer Term . term Number ) ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġinsert Program me Offer Term ( offer Term : ĠList < Real Program me Offer Term >) ĊĊĠĠĠ Ġ@ Sql Query ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġselect Ġ* Ġfrom Ġdbo . Program me Offer Term ĊĠĠĠĠĠĠĠ Ġwhere Ġoffer Id Ġin Ġ(< offer >) ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġget Terms For Offer (@ Bind List (" offer ") Ġoffer : ĠList < Int >): ĠList < Real Program me Offer Term > ĊĊĠĠĠ Ġ@ Sql Batch ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġdelete Ġfrom Ġdbo . Program me Offer Term ĊĠĠĠĠĠĠĠ Ġwhere Ġoffer Id Ġ= Ġ: offer Term . offer Id Ġand Ġterm Number Ġ= Ġ: offer Term . term Number ĊĠĠĠ Ġ""" ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun Ġdelete Program me Offer Term ( offer Term : ĠList < Real Program me Offer Term >) Ċ } Ċ