public override Task <SessionPauses_Reply> GetSessionPausesBySession(SessionId_Request request, ServerCallContext context) { SessionPauses_Reply sessionPauses_Reply = new SessionPauses_Reply(); //make Projects_Reply equal to a new Projects_Reply sessionPauses_Reply.Error = "unknown error"; //set error to unknown error MySqlConnection connection = null; try { connection = CreateDBConnection(); var cmd = connection.CreateCommand(); //create command called cmd cmd.CommandText = $"SELECT * FROM trackerdb.session_pause WHERE `sessionId` = {request.Id}"; //fill cmd text var reader = cmd.ExecuteReader(); //execute cmd FillSessionPauses(sessionPauses_Reply, reader); //calls func FillProjects } catch (Exception ex) //catch exception { sessionPauses_Reply.Error = ex.Message; //if error } finally //after everything above is done { if (connection != null) //if connection is not null { if (connection.State != ConnectionState.Closed) //if connection is not closed { connection.Close(); //close connection } connection.Dispose(); //dipose of connection } } return(Task.FromResult(sessionPauses_Reply)); //return projects }
public void GetSessionPausesBySession() { //Arrange var connection = CreateConnection(); //Act SessionPauses_Reply sessionPauses_Reply = connection.GetSessionPausesBySession(new SessionId_Request { Id = 176 /*SESSION ID HERE*/ }); //Assert Assert.IsNotNull(sessionPauses_Reply.SessionPauses); }
private static void FillSessionPauses(SessionPauses_Reply sessionPauses_Reply, MySqlDataReader reader) { while (reader.Read()) { var sessionPause = new SessionPause() { SessionPauseId = Convert.ToInt32(reader["session_pauseId"]), SessionId = Convert.ToInt32(reader["sessionId"]), Pause = Convert.ToString(reader["pause"]), Resume = Convert.ToString(reader["resume"]) }; sessionPauses_Reply.SessionPauses.Add(sessionPause); } sessionPauses_Reply.Error = ""; }