package Ġcom . s ild ian . apps . to ge trail . event . model . data Requests Ċ Ċ import Ġcom . s ild ian . apps . to ge trail . chat . model . core . Message Ċ import Ġcom . s ild ian . apps . to ge trail . common . base Data Requests . Specific Data Request Ċ import Ġcom . s ild ian . apps . to ge trail . event . model . core . Event Ċ import Ġcom . s ild ian . apps . to ge trail . event . model . data Repository . Event Repository Ċ import Ġcom . s ild ian . apps . to ge trail . h iker . model . support . Current H iker Info Ċ Ċ /**************************************************************** ******************************** * Ċ Ġ* ĠSends Ġa Ġmessage Ġto Ġan Ġevent 's Ġchat Ġroom Ċ Ġ***************************************************************** ************************ *******/ Ċ Ċ class ĠEvent SendMessage Data Request ( ĊĠĠĠ Ġprivate Ġval Ġevent : ĠEvent ?, ĊĠĠĠ Ġprivate Ġval Ġtext : ĠString , ĊĠĠĠ Ġprivate Ġval Ġevent Repository : ĠEvent Repository Ċ ) ĊĠĠĠ Ġ: ĠSpecific Data Request () Ċ { ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠ ĠCurrent H iker Info . current H iker ?. let Ġ{ Ġh iker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent ?. let Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . id ?. let Ġ{ Ġevent Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext . take If Ġ{ Ġit . isNotEmpty () Ġ} ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= ĠMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġtext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthor Id Ġ= Ġh iker . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthor Name Ġ= Ġh iker . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthor Photo Url Ġ= Ġh iker . photoUrl ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Repository . create OrUpdate Event Message ( eventId , Ġmessage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Cannot Ġsend Ġa Ġmessage Ġwith Ġan Ġempty Ġtext ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Cannot Ġsend Ġa Ġmessage Ġto Ġan Ġevent Ġwithout Ġid ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException (" Cannot Ġsend Ġa Ġmessage Ġto Ġa Ġnull Ġevent ") ĊĠĠĠĠĠĠĠ Ġ} Ġ?: ĊĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException (" Cannot Ġsend Ġa Ġmessage Ġwhen Ġthe Ġcurrent Ġh iker Ġis Ġnull ") ĊĠĠĠ Ġ} Ċ }