def update_board_chart(self, chart, team_context, board, name):
        """UpdateBoardChart.
        Update a board chart
        :param :class:`<BoardChart> <azure.devops.v5_0.work.models.BoardChart>` chart:
        :param :class:`<TeamContext> <azure.devops.v5_0.work.models.TeamContext>` team_context: The team context for the operation
        :param str board: Identifier for board, either board's backlog level name (Eg:"Stories") or Id
        :param str name: The chart name
        :rtype: :class:`<BoardChart> <azure.devops.v5_0.work.models.BoardChart>`
        """
        project = None
        team = None
        if team_context is not None:
            if team_context.project_id:
                project = team_context.project_id
            else:
                project = team_context.project
            if team_context.team_id:
                team = team_context.team_id
            else:
                team = team_context.team

        route_values = {}
        if project is not None:
            route_values['project'] = self._serialize.url('project', project, 'string')
        if team is not None:
            route_values['team'] = self._serialize.url('team', team, 'string')
        if board is not None:
            route_values['board'] = self._serialize.url('board', board, 'str')
        if name is not None:
            route_values['name'] = self._serialize.url('name', name, 'str')
        content = self._serialize.body(chart, 'BoardChart')
        response = self._send(http_method='PATCH',
                              location_id='45fe888c-239e-49fd-958c-df1a1ab21d97',
                              version='5.0',
                              route_values=route_values,
                              content=content)
        return self._deserialize('BoardChart', response)