public override Task <Roles_Reply> GetRoles(Empty request, ServerCallContext context) { Roles_Reply roles_Reply = new Roles_Reply(); //make Projects_Reply equal to a new Projects_Reply roles_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 `roleId`, `name` FROM trackerdb.role;"; //fill cmd text var reader = cmd.ExecuteReader(); //execute cmd FillRoles(roles_Reply, reader); //calls func FillProjects } catch (Exception ex) //catch exception { roles_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(roles_Reply)); //return roles }
public void GetRoles_Success() { //Arrange var connection = CreateConnection(); //Act Roles_Reply roles_Reply = connection.GetRoles(new Empty()); //Assert Assert.IsNotNull(roles_Reply.Roles); }
private static void FillRoles(Roles_Reply roles_Reply, MySqlDataReader reader) { while (reader.Read()) { var role = new Role() { RoleId = Convert.ToInt32(reader["projectId"]), Name = Convert.ToString(reader["name"]) }; roles_Reply.Roles.Add(role); } roles_Reply.Error = ""; }