package Ġspace . yar os lav . family bot . services . scenario Ċ Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġspace . yar os lav . family bot . getLogger Ċ import Ġspace . yar os lav . family bot . models . telegram . Chat Ċ import Ġspace . yar os lav . family bot . repos . Scenario Repository Ċ Ċ @ Component Ċ class ĠScenario Poll Man aging Service ( ĊĠĠĠ Ġprivate Ġval Ġscenario Repository : ĠScenario Repository Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlog Ġ= Ġget Logger () ĊĊĠĠĠ Ġfun Ġsave Poll To Scenario ( scenario Poll : ĠScenario Poll ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Saving Ġnew Ġscenario Ġpoll Ġ$ scenario Poll ") ĊĠĠĠĠĠĠĠ Ġscenario Repository . save Poll ( scenario Poll ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfind Scenario Poll ( id : ĠString ): ĠScenario Poll ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Trying Ġto Ġfind Ġnew Ġscenario Ġpoll Ġwith Ġid Ġ$ id ") ĊĠĠĠĠĠĠĠ Ġreturn Ġscenario Repository . getData By Poll Id ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġlog . info (" Found Ġpoll : Ġ$ it ") Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Recent Poll ( chat : ĠChat , Ġscenario Move : ĠScenario Move ): ĠScenario Poll ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Trying Ġto Ġfind Ġpoll Ġfor Ġchat Ġ$ chat Ġand Ġmove Ġ$ scenario Move ") ĊĠĠĠĠĠĠĠ Ġval Ġmost Recent Poll Ġ= Ġscenario Repository . find Most Recent Poll ( chat ) Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġlog . info (" Found Ġpoll : Ġ$ most Recent Poll ") ĊĠĠĠĠĠĠĠ Ġif Ġ( most Recent Poll . scenario Move Ġ!= Ġscenario Move ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" Poll Ġdoesn 't Ġmatch Ġto Ġthe Ġrequired Ġscenario ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġmost Recent Poll ĊĠĠĠ Ġ} Ċ } Ċ